Skip to content

Repository files navigation

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.

Entry points

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

Switching

nh os switch -f ./system.nix

Updating inputs

nixtamal refresh             # refresh all non-frozen inputs
nixtamal refresh <name>      # refresh one input
nixtamal check-soundness     # verify all fetches resolve

Closure 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

  1. Written at readme.nix. ↩

  2. Written at inputs.nix. ↩

  3. Written at closureChecks.nix. ↩

Used by

Contributors

Languages