Point fm at the isolated oc2 wrapper, upgrade Homebrew packages on rebuild, and declare ffmpeg, docker-desktop, puremac, utm, node, and tea. Update nixpkgs, home-manager, and nix-homebrew locks. Track Pi agent config, crew-dispatch, and the Gitea PR helper that home.nix already expected.
2.7 KiB
2.7 KiB
Project notes for agents
Deliberate decisions in this repo - do NOT silently revert them:
homebrew.onActivation.cleanup = "zap"inconfiguration.nixis intentional. It forces the good habit of declaring every Homebrew package in the Nix config instead of installing things ad-hoc, which keeps the machine reproducible. Do not soften it touninstallornone. Users are warned about its effect; this note is for anyone tempted to change the setting itself.- Agent configs under
home/are the source of truth.home.nixinstalls them withmkOutOfStoreSymlink+force = true, so edits to files inhome/apply live after the first rebuild that creates the symlink. Prefer editing those paths, not the live~/.claude/~/.grok/~/.picopies.rebuild.shrotates stale*.backupfiles before switch so home-manager never fails with "would be clobbered". - Grok Build is first-class here:
home/.grok/config.tomlandhome/AGENTS.md(linked as~/.grok/AGENTS.md). Claude, Codex, opencode, and Pi share the samehome/AGENTS.mdfor multi-agent work. - Pi is managed the same way:
home/.pi/agent/{settings,models}.json,themes/, and custom extensions (terminal-status-title,calm). Do not symlink the whole~/.pi/agenttree - sessions, auth, npm cache, and herdr'sextensions/herdr-agent-state.tsstay live. - firstmate lives at
~/Documents/firstmateas a mutable git clone (not in the Nix store).home.activation.firstmateclones it if missing and seedsconfig/backend=herdr+config/crew-harness=pionly when those files are absent. Launch with shell aliasfm(cd+ OpenCode 2 via~/.local/bin/oc2). Self-update via/updatefirstmate, not rebuild. - OpenCode 2 is the firstmate primary. It is not a Homebrew formula: install
@opencode-ai/cli@betawith Homebrew's npm (home.activation.opencode2). Launch throughhome/bin/oc2soOPENCODE_CONFIGstays athome/.config/opencode2/opencode.jsonand cannot rewrite OpenCode 1.x's~/.config/opencode. Do not add a brewopencode/opencode2formula;zapwould fight the npm install. firstmate harness detection matches*opencode*, so theopencode2process name still classifies as OpenCode. - Shell aliases:
cc(Claude skip-permissions),co(Codex full-auto),gb(Grok --yolo),fm(firstmate via OpenCode 2),oc2(OpenCode 2, isolated). They are intentional high-agency shortcuts.
Maintaining this file
Keep this file for knowledge useful to almost every future agent session in this project. Do not repeat what the codebase already shows; point to the authoritative file or command instead. Prefer rewriting or pruning existing entries over appending new ones. When updating this file, preserve this bar for all agents and keep entries concise.