You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds the per-host Nix bootstrap declaration that ADR-0012 routes
through `pearlite bootstrap`: the Determinate installer's SHA-256
pin lives next to the consumer (the host that needs it), not in a
repo-wide bootstrap file.
- New `pearlite_schema::NixDecl` and `NixInstallerDecl` types in
`nix.rs`. Wired through `lib.rs` and as `DeclaredState::nix:
Option<NixDecl>` (default None).
- New cross-field contract `NIX_INSTALLER_REQUIRED`: when any user
has `home_manager.enabled = true`, the host's
`nix.installer.expected_sha256` must be present and well-formed
(64 lowercase hex chars). HM-disabled hosts may omit the block.
- `host_full.toml` fixture grows a `[nix.installer]` table so the
pre-existing `validate_clean_full_fixture` keeps passing under
the new contract.
- Four new validator tests covering the four cases (missing block
with HM, malformed sha, uppercase hex, HM-disabled-everywhere).
Tests: 307 passing (was 303, +4). Clippy clean. fmt clean. audit clean.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments