How This README Is Generated1
Each section is contributed by whichever module it documents,
via text.readme.parts.<name>,
and assembled in the order listed by text.readme.order.
Each module documents itself next to its own definition
rather than everything living in one place.
Regenerate after editing any parts.* with write-files (available in the devshell).
Input Management2
Inputs are pinned with nixtamal
and resolved with with-inputs.
There is no flake.lock;
pins live in lock.json.
| File | Purpose |
|---|---|
default.nix |
Primary entry point; returns full flake outputs |
system.nix |
Convenience entry point; selects the NixOS config for the current hostname (impure - reads /etc/hostname) |
flake.nix |
Thin shim so flake-aware tools still work |
nh os switch -f ./system.nixnixtamal refresh # refresh all non-frozen inputs
nixtamal refresh <name> # refresh one input
nixtamal check-soundness # verify all fetches resolveClosure Checks3
Closure size checks are defined via the closureChecks option.
Each entry logs the human-readable closure size;
an optional budget field causes the check to fail if the size exceeds it.
See checks at closureChecks/.
Footnotes
-
Written at
readme.nix. ↩ -
Written at
inputs.nix. ↩ -
Written at
closureChecks.nix. ↩