Kieran's opinionated (and probably slightly dumb) nix config

feat: add clawd

dunkirk.sh 7a0b9258 1bd028b6

verified
+22 -1
+18
machines/terebithia/default.nix
··· 160 160 "restic/env".file = ../../secrets/restic/env.age; 161 161 "restic/repo".file = ../../secrets/restic/repo.age; 162 162 "restic/password".file = ../../secrets/restic/password.age; 163 + clawdbot.file = ../../secrets/clawdbot.age; 163 164 }; 164 165 165 166 environment.sessionVariables = { ··· 251 252 services.tailscale = { 252 253 enable = true; 253 254 useRoutingFeatures = "client"; 255 + }; 256 + 257 + # Clawdbot - AI assistant in isolated container 258 + virtualisation.podman.enable = true; 259 + 260 + virtualisation.oci-containers = { 261 + backend = "podman"; 262 + containers.clawdbot = { 263 + image = "clawdbot:local"; 264 + volumes = [ 265 + "/var/lib/clawdbot:/home/node/.clawdbot" 266 + "/home/git:/home/node/knot" # knot repos 267 + "/var/lib/clawdbot/ssh:/home/node/.ssh" # git credentials 268 + ]; 269 + environmentFiles = [ config.age.secrets.clawdbot.path ]; 270 + extraOptions = [ "--pull=never" ]; 271 + }; 254 272 }; 255 273 256 274 services.caddy = {
+1 -1
modules/home/apps/crush.nix
··· 359 359 system_prompt_prefix = "You are Claude Code, Anthropic's official CLI for Claude."; 360 360 extra_headers = { 361 361 "anthropic-version" = "2023-06-01"; 362 - "anthropic-beta" = "oauth-2025-04-20"; 362 + "anthropic-beta" = "oauth-2025-04-20,claude-code-20250219,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"; 363 363 }; 364 364 models = [ 365 365 {
secrets/clawdbot.age

This is a binary file and will not be displayed.

+3
secrets/secrets.nix
··· 89 89 "herald-dkim.age".publicKeys = [ 90 90 kierank 91 91 ]; 92 + "clawdbot.age".publicKeys = [ 93 + kierank 94 + ]; 92 95 }