Summary#
- Add
nix/module.nix: complete NixOS module withservices.ezpds.*option tree, TOML config generation viapkgs.formats.toml, configFile escape hatch for agenix/sops-nix, dedicatedezpdsuser/group, and hardened systemd service - Expose
nixosModules.defaultinflake.nixwith package injection vialib.mkDefault self.packages.${pkgs.system}.relay - Add
just nix-checkrecipe (nix flake check --impure --accept-flake-config) for ongoing validation; all 18 acceptance criteria verified vianix evalsmoke tests
Test Plan#
-
just nix-checkexits 0 -
cargo test --workspace— 20 tests pass -
cargo clippy --workspace -- -D warnings— clean - Run Phase 3 smoke tests from
docs/implementation-plans/2026-03-09-MM-135/phase_03.mdTasks 1–5 (note: requiresbuiltins.getFlake "nixpkgs"workaround documented in the file — devenv-nixpkgs fork lackslib.nixosSystem) - Review human test plan at
docs/test-plans/2026-03-09-MM-135.mdfor E2E and runtime verification steps (Linux VM required)