runtime error on first deploy attempt: 'source tree referenced by git+file:///var/lib/hyperhive/meta does not contain /flake.nix'. cause: sync_agents wrote flake.nix then ran 'nix flake lock' against a directory nix had just discovered as a git repo (auto-upgraded to git+file://), which only sees TRACKED content. fresh flake.nix was untracked, so nix saw an empty source tree. fix: commit flake.nix before locking. sync_agents now does write → init (if first) → git add + commit → nix flake lock → commit lock if changed. two commits per change — one 'regenerate meta flake' and one 'lock update' — instead of one combined; cleaner history. same git+file:// gotcha bit the two-phase deploy: prepare_ deploy used to write the lock without committing, expecting nixos-container update to read the working tree. it doesn't — it reads the tracked commit. prepare_deploy now commits with a placeholder 'deploy <n> (building)' message; finalize_deploy amends to 'deploy <n> deployed/<id> <sha12>' on success; abort_deploy git-reset --hard HEAD~1's it on failure. meta history still records only successful deploys. |
||
|---|---|---|
| .. | ||
| assets | ||
| src | ||
| Cargo.toml | ||