Nix Flake Update
Workflow
- Decide scope
- AI update: run
nix flake update codex-cli-nix claude-code-nix llm-agents - Full update: run
nix flake update(default when user does not mention AI)
- AI update: run
- Switch
- Run
make localafter any update
- Run
- Handle Pi changelog once
- Run
pi --version 2>&1once after switching. - Compare it with
modules/ai/pi/settings.jsonlastChangelogVersion. - If different, bump
lastChangelogVersionto the current Pi version, read installed PiCHANGELOG.md, and summarize entries between the old and new versions in the handoff. - If already equal, say no Pi changelog news.
- Run
- Verify (full updates only)
- Run
nix flake check - If failure, quote exact error, fix only update-related fallout, rerun
nix flake check
- Run
- Commit
- Stage only update-related files (typically
flake.lock,modules/ai/pi/settings.jsonwhen Pi changed, maybeflake.nixor other necessary fixes) - Use Conventional Commit, keep commit isolated to the update
- Examples:
chore(nix): update flake inputsorchore(nix): update ai inputs
- Stage only update-related files (typically
Notes
- Skip
nix flake checkwhen updating AI inputs (unless explicitly requested). - Bumping Pi
lastChangelogVersionis intentional when Pi updates; do not leave repeated startup changelog prompts for the user. - Work from repo root.
- Keep changes minimal; no unrelated refactors.