Skip to content

Fix pinned versions of EOL NixOS - #1282

Draft
riotbib wants to merge 2 commits into
NixOS:masterfrom
riotbib:fix-eol-nixos-pins
Draft

Fix pinned versions of EOL NixOS#1282
riotbib wants to merge 2 commits into
NixOS:masterfrom
riotbib:fix-eol-nixos-pins

Conversation

@riotbib

@riotbib riotbib commented Sep 10, 2026

Copy link
Copy Markdown
Member

Noticed, nix.dev pins some NixOS versions which are EOL.

Started cleaning up with two commits, but there's a bit more.

  • tutorials: Update pinned NixOS version for cross-compilation
  • tutorials: Update pinned NixOS versions for working-with-local-files

Tested all changes so far, to know if the commands still builds. Won't be possible with every needed change I guess.

TODO:

$ grep -lr '21\.05\|21\.11\|22\.05\|22\.11\|23\.05\|23\.11\|24\.05\|24\.11\|25\.05\|25\.11'                                                                                                (fix-eol-nixos-pins)  
source/reference/pinning-nixpkgs.md
source/concepts/faq.md
source/_static/img/nix.svg
source/tutorials/nixos/nixos-configuration-on-vm.md
source/tutorials/nixos/installing-nixos-on-a-raspberry-pi.md
source/tutorials/nixos/integration-testing-using-virtual-machines.md
source/tutorials/nixos/provisioning-remote-machines.md
source/tutorials/packaging-existing-software.md
source/tutorials/first-steps/declarative-shell.md
source/tutorials/first-steps/towards-reproducibility-pinning-nixpkgs.md
source/tutorials/module-system/deep-dive.md
source/guides/recipes/direnv.md
source/guides/recipes/dependency-management.md
source/guides/recipes/python-environment.md
source/guides/recipes/sharing-dependencies.md
nix/sources.json
nix/releases.nix

Two questions, cc @hsjobeki:

  1. Shall we remove EOL versions from npins (nix/sources.json)?
  2. Can we find a generic way to not pin NixOS versions, thus keeping maintenance efforts low?

Version bumbed the mentions of nixos-23.11 to nixos-26.05.
Tested all commands and outputs.
Version bumbed the mentions of nixos-23.11 to nixos-26.05.
Tested all commands and outputs.
@fricklerhandwerk

Copy link
Copy Markdown
Contributor

Shall we remove EOL versions from npins (nix/sources.json)?

Keeping them costs about nothing and doesn't break links for anyone. We're not linking them anywhere, but whoever has a bookmark may come back to it.

Can we find a generic way to not pin NixOS versions, thus keeping maintenance efforts low?

Probably best via Sphinx plugin, I'd be in favor!

@riotbib

riotbib commented Sep 10, 2026

Copy link
Copy Markdown
Member Author

Thanks for the feedback :)

Shall we remove EOL versions from npins (nix/sources.json)?

Keeping them costs about nothing and doesn't break links for anyone. We're not linking them anywhere, but whoever has a bookmark may come back to it.

I guess this issue ain't all too relevant when moving from nix.dev to docs.nixos.org, but for my own interest can you share such a link? I wasn't aware nix.dev exposes version numbers in the URL or elsewhere (if I understand correctly).

Happy about any URLs to dig further, since IMHO cool URIs don't change.

Can we find a generic way to not pin NixOS versions, thus keeping maintenance efforts low?

Probably best via Sphinx plugin, I'd be in favor!

Ah yup, we could use adamtheturtle/sphinx-substitution-extensions since it even substitutes in code blocks. Will look into in in another issue/PR.

@riotbib

riotbib commented Sep 10, 2026

Copy link
Copy Markdown
Member Author

Such substituters wouldn't change the output (specific hash values etc) though, we should figure out if and how we need this to be changes automatically. If it does add value to the documenttation compared to the work needed for that.

Breaking changes to Nix, nixpkgs sometimes will make documentation obsolote. Catching these errors, would be nice and could be introduced here. I'm gonna take this to the Docs Call.

@fricklerhandwerk

Copy link
Copy Markdown
Contributor

Ah, I got that confused. For a while we had essentially all the versions of Nix manuals under stable URLs. I never got to do the same thing for Nixpkgs, but it's sure possible and not even that hard.

To have stability against changing interfaces, one needs to approach documentation very differently. But for the current purposes, simply making it look up to date would already be nice. And that's easy to do with splicing in the right values at build time.

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.

2 participants