Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Nixpkgs maintenance

python3 scripts/check.py --skill nixpkgs-development
python3 scripts/update.py --skill nixpkgs-development --check
python3 scripts/update.py --skill nixpkgs-development --revision 7561e7e3e12a06677b1525a12bcccb0b4e4c601d
python3 scripts/update.py --skill nixpkgs-development --latest

Nixpkgs tracks master snapshots, not releases or channel promotions. The .version value is development-series metadata. --latest resolves master once, requires descendant ancestry from the previous snapshot, and regenerates/tests any advanced SHA, even when only provenance changed. An identical SHA is a no-op. Rewinds, divergence, unavailable inputs and unverifiable ancestry fail for review. Explicit full-SHA repinning is reviewed work; --release is rejected for Nixpkgs.

The updater copies selected doc/ sections and builds the pinned source’s nixpkgs-manual.lib-docs derivation for twelve curated library APIs. It does not rebuild the whole website. Its independently pinned Nix 2.35.2 evaluator cannot change through automated updates. If substitutes are unavailable, Nix may build that evaluator, nixdoc and their dependencies; network/cache access and disk space are needed. Authored instructions, selection, branch and evaluator policy remain reviewed files. The snapshot records consumed inputs, coverage, generated API records and outputs, including the upstream MIT license.

--check verifies deterministic generation and runs a small pinned fixture for argument/attribute overrides, overlays, library/fileset results and generic module composition. It builds a local-source package to check phase hooks and installed output, and executes a small shell helper. Language helpers are evaluated for availability; their full ecosystems are not built. Checks have been exercised on x86_64-linux; this is not a claim of cross-platform or native-agent discovery tests. No services, host configuration, user trust or installed skills are changed.

Custom manual anchors are resolved to bundled sections or pinned source files with named sections. Unsupported documentation syntax fails before replacement. Fenced code is preserved, including illustrative or historical upstream examples; the Python excerpt identifies an upstream duplicate argument needing adaptation. Consumers must use their own project’s pin rather than assume master APIs exist in older Nixpkgs. Roll back by restoring the entire skill from a reviewed commit.