Skip to content

Describe the separate parts of the nixpkgs stack and source selections - #83

Merged
clhodapp merged 6 commits into
mainfrom
docs/separate-nixpkgs-parts
Oct 22, 2026
Merged

clhodapp merged 6 commits into
mainfrom
docs/separate-nixpkgs-parts

Conversation

@clhodapp

@clhodapp clhodapp commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Docs for nix-caisson/caisson#128 and nix-caisson/caisson-core#53.

  • concepts/ecosystem-sources.md: states the three parts of a nixpkgs checkout. Those are the library (nixpkgs-lib), the package set (nixpkgs) and the NixOS module collection (nixos), each resolved from its own key with no fallback between keys. The page has an example of one checkout named under all three keys and an example of a stable package config. The table of integrations shows NixOS, nixos-minimal and system-manager's NixOS modules reading nixos. A new section recommends the nixpkgs.lib mirror as the library source of a project that other flakes list. A flake that lists a project fetches the library source of that project. The section gives the sizes and describes how the revision of the mirror differs from the revision of a package set. It also says that a package set takes lib.maintainers and lib.teams from its own source, as Resolve each part of the nixpkgs stack from its own key, selected from the sources caisson#128 does.
  • reference/lib.md: defaultEcosystemSrc on mkLib and ecosystemSrc on every mkConfiguration are functions of sources, and values are refused. A new selectedEcosystemSrc entry is added, and resolveEcosystemSrc applies it.
  • getting-started.md, deep-dives/how-lib-is-composed.md, faq.md: the examples use the function forms and the nixos key.

Existing headings and anchors are unchanged. Three headings are added: "The three parts of a nixpkgs checkout", "The library of a project that other flakes list" and selectedEcosystemSrc. mdbook build passes.

🤖 Generated with Claude Code

…ections

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@clhodapp clhodapp self-assigned this Oct 21, 2026
clhodapp and others added 5 commits October 21, 2026 21:59
… list

A flake that lists a project builds the lib of that project and
fetches its library source. The page recommends the mirror for such
projects, gives the sizes, and describes the difference between the
revision of the mirror and the revision of a package set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The nixpkgs integration takes lib.maintainers and lib.teams from the
source of the package set, so the section drops the advice to build
packages in a separate tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@clhodapp
clhodapp merged commit 267e91a into main Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant