Harden and tune opencode configuration for Paseo-only use #140
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config#140
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
The opencode configuration in
modules/profiles/ai-runtime.nixwas at bare minimum — onlyserver,provider, andmcpwere set. opencode is never used directly; all model access is via Paseo agents. This change hardens the config and adds quality-of-life features tuned for that Paseo-only workflow.Scope
Tier 1 — Security/correctness
autoupdate = false— opencode is Nix-managed; prevents silent binary swaps mid-Paseo-agent-runshare = "disabled"— Paseo sessions contain SOPS paths and host inventory; no URL sharingpermissionrules — enforces AGENTS.md constraints (no sudo except nixos-rebuild, no .env reads, no secrets edits, doom_loop/external_directory ask)Tier 2 — Workflow quality
small_model = "ollama-lyra/qwen3:8b"— routes hidden title/summary system agents to lyra's idle 4070 instead of burning OpenRouter creditsenabled_providers— locks to openrouter + 3 ollama instances; prevents accidental provider discoveryinstructions = ["README.md"]— supplements auto-discovered AGENTS.md with repo architecture/host inventoryollama-lyraprovider — exposes qwen3:8b, gemma4:12b, gemma4:e2b from lyra's RTX 4070 (192.168.8.146:11434)Tier 3 — Power features
lsp = true— enables nixd (.nix), pyright (.py), gopls (.go), bash-language-server (.sh), typescript (.ts/.js)formatter = true— enables nixfmt (.nix), ruff (.py), shfmt (.sh), gofmt (.go)watcher.ignore— excludes result/, .git/, potential/** from file indexingenvironment.systemPackages(all hosts),home.packages(desktop), andpaseoRuntimePathCleanup
justfiles/opencode.just(opencode-webandopencode-sharerecipes) and its import fromJustfileValidation
nix flake checkpasses on all 5 hosts (electra, lena, vega, lyra, cosmos)just test;opencode modelsconfirms ollama-lyra/qwen3:8b, ollama-lyra/gemma4:12b, ollama-lyra/gemma4:e2b are availableenabled_providers,small_model,ollama-lyraprovider,lsp,formatter,watcher.ignoreall present