Phase 5.1 + Phase 6: Directory Services stubs, NixOS VM tests, flake checks
Phase 5.1 — Directory Services stubs:
- dseditgroup: group create/edit/delete/checkmember/read (src/dirserv/)
- sysadminctl: addUser/deleteUser with UID/GID/home/shell (src/dirserv/)
- dscl: read/list/create/delete/append/search on /Users and /Groups (src/dirserv/)
- All operations are idempotent with input validation
- Wired into CMake build, installs to libexec/darling/usr/sbin/
- 78-test regression suite (tests/dirserv/test_dirserv.sh)
Phase 6.1 — NixOS VM integration test (tests/nix-in-darling.nix):
- 7 stages: Darling boot, sandbox-exec, dirserv stubs, Nix install,
core commands, currentSystem verification, trivial derivation builds
Phase 6.6 — Darling smoke test (tests/darling-smoke.nix):
- Lightweight NixOS VM test (no network), 8 stages covering shell,
macOS identity, filesystem, sandbox-exec, diskutil, dirserv stubs
Phase 6.2 — Wired tests into flake.nix:
- checks: darling-build, darling-smoke, nix-in-darling, dirserv-stubs
- dirserv-stubs runs as pure shell test (no Darling needed)
Also: updated run-tests.sh with dirserv suite (6 suites total),
updated PLAN.md and plan docs with task completions.