Summary#
- Adds
flake.nix,devenv.nix,rust-toolchain.toml, and.envrcto provide a reproducible Nix-based dev shell via devenv - Pins the Rust stable toolchain with
rustfmt,clippy, andrust-analyzer; includesjust,cargo-audit,sqlite, andpkg-configas shell packages - Generates and commits
flake.lockafter verifying all 14 automatable acceptance criteria pass on macOS (aarch64-darwin)
Notes#
nix develop requires --impure --accept-flake-config due to devenv's need to read $PWD at evaluation time. The rust-overlay input was
added as an explicit flake input (devenv's languages.rust module requires it directly when using toolchainFile).
Test Plan#
-
nix develop --impure --accept-flake-configactivates shell on macOS -
rustc --version→ stable (1.94.0),cargo,rust-analyzer,clippy,rustfmt,just,cargo-audit,sqlite3,pkg-config --libs sqlite3all verified -
flake.lockcommitted and tracked by git -
flake.nixhas nopackagesornixosModulesoutputs - Linux (x86_64-linux) verification — needs CI or contributor on Linux
-
rustup showreadsrust-toolchain.tomlwithout Nix -
direnv allowactivates shell automatically oncd
Full human test plan: docs/test-plans/2026-03-07-MM-64.md