Commit Graph
100 Commits
Author SHA1 Message Date
kyle c5fed8c604 straylight: raise OpenCode and llama-server timeouts to 2h
Local prefill and reasoning/coding turns often sit idle past OpenCode's
5–10 minute defaults. Align llama-server --timeout with that window.
2026-09-17 05:49:52 -07:00
kyleandClaude Opus 5 2498ec066e straylight: drop Tailscale Serve loop for llama on :443
The unit re-applied --https=443 every 5s and fought Mattermost for
that port. llama is served on :10000, managed outside Nix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 21:05:52 -07:00
kyle 0fdc3c47a8 straylight: restore llama HTTPS every 5s after serve reset
The OpenCode TLS session keeps running , which
drops https://straylight.scylla-hammerhead.ts.net. Loop the serve
config so the API comes back in seconds.
2026-09-16 13:22:37 -07:00
kyle 62e57955eb straylight: persist Tailscale HTTPS for llama-server
OpenCode talks to https://straylight.scylla-hammerhead.ts.net/v1, which is
Tailscale Serve on :443 proxying localhost:11434. Re-apply the serve
config on a timer so  cannot leave the API dark.
2026-09-16 13:18:09 -07:00
kyle 1e94e6638e straylight: local Whisper ASR and Qwen3.8-Flash-Next uncensored
whisper.cpp large-v3-turbo on :11435 (CPU, OpenAI transcriptions path)
so ASR does not take GTT from llama-server. Flash-Next is the cygnal
IQ4_XS-NGQ4 GGUF (~98 GB, gfx1151), qwen4exp, mmproj pinned; unload
Laguna before loading.
2026-09-16 07:18:28 -07:00
kyle 927eff0c98 straylight: treat Ornith 1.5 9B as a VLM
Loaded instance reports image input; llama.cpp attaches mmproj-Q8_0
from the HF cache. Mark it vision in OpenCode and drop the old
text-only comment.
2026-09-16 06:41:01 -07:00
kyle 52859524d7 straylight: install OpenCode config for local llama.cpp models
Managed /etc/opencode/opencode.json points at straylight:11434 with
the router model ids, Laguna as default, Ornith 1.5 9B as small_model,
and a vision subagent on Qwen3-VL-8B abliterated.
2026-09-16 06:34:41 -07:00
kyle 56b233afb6 straylight: add Qwen3-VL-8B abliterated as the small VLM
Ornith 1.5 9B is a dense text model, not vision. Replace that role with
prithivMLmods Qwen3-VL-8B Instruct abliterated v2 (mradermacher Q4_K_M)
and pin mmproj-url so router mode actually loads the projector.
2026-09-16 06:03:51 -07:00
kyle 85d216fce3 straylight: add Ornith 1.5 35B-A3B MoE to llama-server
Official ornith-ai Q4_K_M GGUF (~22 GB). Multimodal 35B MoE with ~3B
active; llama-server fetches weights and mmproj on first load.
2026-09-16 05:56:27 -07:00
kyle 5a734118b0 straylight: add Ornith 1.5 9B uncensored to llama-server
mradermacher Q4_K_M of junafinity/Ornith-1.5-9B-uncensored. Multimodal
9B; llama-server fetches weights and mmproj on first load.
2026-09-16 05:53:31 -07:00
kyle 94d09ead29 add jq 2026-09-16 05:41:20 -07:00
kyle c03dbd0a51 straylight: add Qwen 3.8 27B uncensored to llama-server
huihui Q4_K_L of Qwen3.8-27B (orcarouter GGUF is gated). Dense 27B
coding agent, loaded on demand like Ornith.
2026-09-16 00:40:47 -07:00
kyle 7b3af4cb13 straylight: expose llama-server on the tailnet
Bind 0.0.0.0 and open 11434 on tailscale0 only, so localhost and
other tailnet machines can reach the OpenAI-compatible API. LAN
stays closed. rebuild-nixos deploys committed master, not the
working tree.
2026-09-15 23:57:23 -07:00
kyleandJunie 90d8ce03ae Enable envfs.
Co-authored-by: Junie <junie@jetbrains.com>
2026-09-15 23:38:19 -07:00
kyle c733278666 Add AGENTS.md. 2026-09-15 23:20:55 -07:00
kyleandClaude Fable 5.1 369c1a4c9f flake.lock: update inputs
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 22:28:39 -07:00
kyle 35f8d81ab6 models update 2026-09-15 21:03:01 -07:00
kyleandClaude Fable 5.1 1714600aab straylight: llama-server router mode on llama.cpp 0.4.0
Drop the b9828 source pin and take llama.cpp from a refreshed
nixpkgs-unstable (0.4.0), which supports the Laguna and Gemma 4
architectures. Run llama-server in router mode with a preset file:
abliterated Qwen3.6-35B-A3B and Gemma 4 26B-A4B for benchmarking,
Poolside Laguna S 2.1 as the primary coding agent, and Ornith kept for
comparison. At most two models stay resident; idle models unload after
six hours. Add llama-models and llama-unload helper commands.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 19:54:51 -07:00
kyleandClaude Fable 5.1 ec1e2efbba straylight: raise the GPU memory ceiling to 104 GiB
The TTM default caps GTT at half of RAM (~62 GiB), which is too small for
the 118B-parameter model straylight will serve. Set ttm.pages_limit and
ttm.page_pool_size to 27262976 pages (104 GiB); takes effect on reboot.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 19:54:51 -07:00
kyle 7ba99f1dd7 herdr local path fix 2026-09-15 18:13:00 -07:00
kyleandClaude Fable 5.1 ac7a0b20fe straylight: add herdr
Pin herdr v0.9.0 from the upstream flake (nixpkgs-unstable only has
0.7.1) and install it on straylight to host coding-agent terminals.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 17:41:39 -07:00
kyle 5da03f8ba4 protontricks 2026-07-26 19:04:51 -07:00
kyle f7765178bf rhythmbox 2026-07-19 00:47:59 -07:00
kyle 568a333bb0 portal 2026-07-14 22:58:23 -07:00
kyleandClaude Fable 5 705e2d6d09 CLAUDE.md: sync docs with current config
Update for the 26.05 bump and host changes: 8 hosts, orion is now a
server, straylight/svc added, vade on desktop-light, MCP modules,
and the current LUKS coverage.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 21:23:37 -07:00
kyle ff9bba5b09 desktop updates (appimage/betaflight) 2026-07-14 20:46:17 -07:00
kyle 28ede0cd3e Cleanups 2026-07-08 02:42:38 -07:00
kyle b0a1e26498 python3.14 2026-07-08 02:05:30 -07:00
kyle d8f0177cf7 remove python312 2026-07-08 02:04:59 -07:00
kyle a7095408cd Add fido2 instructions. 2026-07-08 01:09:47 -07:00
kyle 374bde92f9 flake update 2026-07-08 00:37:35 -07:00
kyle f8272a9d62 Update to 26.05 2026-07-08 00:35:28 -07:00
kyle de8c8fb2a2 yt-dlp and python314 2026-07-07 23:57:07 -07:00
kyle fba556e13c add eog 2026-07-07 22:58:33 -07:00
kyleandClaude Sonnet 5 467eb1b60d enable steam on straylight
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 21:55:05 -07:00
kyle d3954901a1 enable bluez on straylight 2026-06-30 10:24:40 -07:00
kyle f59e97a79e clang 2026-06-28 15:34:36 -07:00
kyle 5ea4890313 try switching from ollama to llama.cpp 2026-06-27 23:02:39 -07:00
kyle 5745ba069b update flakes for ollama 2026-06-27 17:36:21 -07:00
kyle 0d5f8d4f99 add qtcreator 2026-06-26 12:55:08 -07:00
kyleandClaude Sonnet 4.6 1df8e46bcf straylight: add open-webui with Ollama and RAG
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-25 11:10:51 -07:00
kyle db96bd1ac7 dedicated ollama user/group 2026-06-24 14:04:09 -07:00
kyle 275176b80f fix system call 2026-06-24 14:02:42 -07:00
kyle 6ff6c997fd ollama -> vulkan 2026-06-24 11:23:23 -07:00
kyle 240ab7d50a nix maintainers lacking 2026-06-23 17:49:15 -07:00
kyle 6a8bbc4da5 flake update 2026-06-23 16:58:56 -07:00
kyle b3a52dc12b move ffmpeg to light 2026-05-28 06:40:07 -07:00
kyle 6670b1cf50 add platformio 2026-05-05 13:21:17 -07:00
kyle 18bcf5d1e7 update lector 2026-04-14 15:06:55 -07:00
kyle a99542aa50 add sox
claude code uses this for voice input
2026-04-14 14:59:58 -07:00
kyle dfc21b359c use firefox as default 2026-04-07 11:58:40 -07:00
kyle 4c29c7dabf flake updates 2026-04-07 10:00:54 -07:00
kyle 2cb9704dac discord 2026-04-07 09:27:29 -07:00
kyle 2b5a691ecf add chromium to packages
need for webusb things
2026-04-06 08:36:42 -07:00
kyleandClaude Opus 4.6 77e69e0b86 Set mutableUsers to false so hashedPassword is enforced on every rebuild
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 17:19:55 -07:00
kyle d4963c571a ollama 2026-04-04 16:19:16 -07:00
kyle 3b59f3cae4 wireless tools for i3blocks 2026-04-04 16:19:16 -07:00
kyleandClaude Opus 4.6 768e9a61dc Add svc host: NixOS config for TornadoVPS edge node
BIOS boot with GRUB on /dev/xvda, MCP agent via systemd,
mc-proxy and MCNS as containers via MCP agent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:21:01 -07:00
kyleandClaude Opus 4.6 e1600e19e7 Use hashed password instead of initial plaintext password for kyle user
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:57:37 -07:00
kyleandClaude Opus 4.6 6fd8ab61ed Fix orion build: remove nonexistent "crypted" LUKS device reference
The LUKS device is named "luks-5c5e94fc-..." in hardware-configuration.nix
which already has the FIDO2 options. The "crypted" reference caused a build
error. Also fix duplicate attribute definitions and unnecessary config wrapper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:30:04 -07:00
kyleandClaude Opus 4.6 6733e92d1f Update CA cert after Metacrypt re-initialization
New root CA cert issued during Metacrypt vault rebuild. Same key
usage (Certificate Sign, CRL Sign), new validity period (2026-2046).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:07:54 -07:00
kyleandClaude Opus 4.6 adca98065f Update CA cert with CRL Sign key usage
Same key, added CRL Sign to key usage extensions. Distributed to
all nodes and NixOS system trust store.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:54:05 -07:00
kyleandClaude Opus 4.6 3be5613120 Fix deprecated NixOS options for 25.11
- Use nixpkgs.hostPlatform module instead of deprecated system arg to lib.nixosSystem
- Rename services.logind.powerKey to services.logind.settings.Login.HandlePowerKey

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:53:25 -07:00
kyle b6aa8346f5 update mcp 2026-04-03 09:37:36 -07:00
kyleandClaude Opus 4.6 47b4e533ff Document UID 850 as permanent — never change
Rootless podman deeply caches the UID in storage, subuid mappings,
and systemd sessions. Changing it destroys all container state.
Reference: log/2026-04-03-uid-incident.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:30:37 -07:00
kyleandClaude Opus 4.6 5d82e27ba4 Add fallback DNS resolvers to all nodes
All nodes now list 1.1.1.1 and 8.8.8.8 as fallback nameservers after
MCNS. When MCNS is down, internal names (.svc.mcp.metacircular.net)
fail but external DNS (google.com, github.com, etc.) keeps working.

Lesson from 2026-04-03 incident: without fallbacks, MCNS failure
caused total DNS blackout including external services, forcing
Tailscale to be disabled to restore any DNS resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:30:09 -07:00
kyleandClaude Opus 4.6 5a381d314e Pin mcp user UID/GID to 850
UID 995 conflicted with sshd on orion. Pin to 850 (the 800-899 range
is unused on all nodes and well below NixOS auto-assign range).
Pin GID to 850 as well for consistency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 01:38:45 -07:00
kyleandClaude Opus 4.6 53addc0ed1 Remove pinned UID for mcp user
UID 995 conflicted with sshd on orion. Let NixOS auto-assign the UID
for the mcp system user. Use systemd's %U specifier for XDG_RUNTIME_DIR
instead of the hardcoded UID.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 01:33:37 -07:00
kyleandClaude Opus 4.6 755450e72e fix orion: remove bogus "crypted" LUKS device reference
The FIDO2 crypttab options are already on the correct UUID-named device
in hardware-configuration.nix; the "crypted" name only applies to
disko-provisioned hosts (rift).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 01:00:19 -07:00
kyleandClaude Opus 4.6 5fd00af73c fix orion: remove duplicate top-level networking/services attrs
The module used explicit `config = { ... }` but also had duplicate
networking.nameservers and services.resolved.domains at the top level,
causing a NixOS module evaluation error. Merged the Tailscale nameserver
into the config block and removed the duplicates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 00:03:58 -07:00
kyleandClaude Opus 4.6 6a65e73200 Remove mcp-master systemd unit (now containerized)
The master runs as an MCP-managed container, deployed via
mcp deploy mcp-master --direct. The systemd unit was a temporary
bootstrap mechanism.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:56:08 -07:00
kyleandClaude Opus 4.6 b26478d47b Add mcp-master systemd service
Runs the MCP v2 master as a systemd service on rift. Uses
ConditionPathExists so the unit is a no-op on worker nodes
(like orion) that import mcp.nix but don't have the binary.

Starts after mcp-agent.service. Security hardened like the agent
but with ProtectHome=true (master doesn't need /run/user).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 20:43:38 -07:00
kyle dba2fb00eb update mc packages 2026-04-02 20:43:38 -07:00
kyle 246674369d updated packages 2026-04-02 20:33:24 -07:00
kyle 63bb945506 add opencode to full desktop packages 2026-04-02 17:10:04 -07:00
kyle 9be8f2d8d1 syncthing should run as a user 2026-04-02 16:07:59 -07:00
kyle 9972422fe6 package cleanup 2026-04-02 12:53:17 -07:00
kyle 9310dc0041 add new framework config 2026-04-02 12:43:06 -07:00
kyleandClaude Opus 4.6 de5178747d add straylight emergency recovery script
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:23:04 -07:00
kyleandClaude Opus 4.6 453947ac7b fix straylight /home LUKS: use initrd instead of crypttab
Replace fragile environment.etc.crypttab.text with
boot.initrd.luks.devices for the second SSD, matching
the pattern used for the root drive.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:12:14 -07:00
kyle a8e43936cf pass #2
following random blogs doesn't always work
2026-04-01 23:53:00 -07:00
kyle 0e9f6d890e straylight hardware 2026-04-01 20:32:08 -07:00
kyle 33f364f12f update mcr 2026-04-01 19:41:41 -07:00
kyle 8ac759b1cf update mcr (for mcrctl) 2026-04-01 18:58:52 -07:00
kyle 0f1f0dcc78 Adding straylight. 2026-04-01 12:39:44 -07:00
kyle fdd7104504 update kte and lector 2026-03-31 14:22:05 -07:00
kyle 101151cdb8 exfatprogs 2026-03-30 22:12:54 -07:00
kyle 16f1d0829c add easytag 2026-03-30 20:36:18 -07:00
kyle 5a0c22f0f7 update mcp 2026-03-30 17:46:40 -07:00
kyle 2abcc39539 really undunst 2026-03-30 17:33:26 -07:00
kyle 316b00cda3 update mcp 2026-03-30 17:32:00 -07:00
kyle 194e36c5de ntfy support 2026-03-30 14:59:35 -07:00
kyle c268ff48b4 adding gvfs 2026-03-30 13:28:15 -07:00
kyle c26f5b9a87 ignore power key on vade 2026-03-30 13:04:53 -07:00
kyle ab66200fe1 update sgard 2026-03-30 09:54:22 -07:00
kyle 62e56188b2 dumbo 2026-03-30 09:19:19 -07:00
kyle e538aa083b moving deja-dup 2026-03-30 09:17:38 -07:00
kyle 7ac4f2e3f2 enable dconf 2026-03-30 09:16:49 -07:00
kyle 66900d9ce6 add deja-dup 2026-03-30 08:23:04 -07:00
kyle efeefb51b3 update mcp 2026-03-29 19:12:03 -07:00