diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5c5fc4d2f..30b28a9d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,6 +22,23 @@ Adapted from the [Contributor Covenant] and [The Carpentries Code of Conduct]: [Contributor Covenant]: https://github.com/EthicalSource/contributor_covenant/blob/cd7fcf684249786b7f7d47ba49c23a6bcb3233eb/content/version/2/1/code_of_conduct.md [The Carpentries Code of Conduct]: https://github.com/carpentries/docs.carpentries.org/blob/4691971d9f49544054410334140a4fd391a738da/topic_folders/policies/code-of-conduct.md +## Updating reference manuals + +With the current setup, the Nix manual hosted on nix.dev does not get updated automatically with new releases. +The following manual steps are required: + +- Update the inputs to use the latest versions of the Nix release branches with `nix shell --run "niv update"` + - Make sure Nix can be fetched from the cache, otherwise it has to be rebuilt. + If it doesn't, find the latest commit that is [built by Hydra](https://hydra.nixos.org/project/nix). +- On each new Nix release, update the latest version in [`default.nix`](./default.nix) and [`source/reference/nix-manual.md`](./source/reference/nix-manual.md). +- If Nixpkgs unstable or a NixOS stable release adopt a new version of Nix, update the corresponding references here. + + Also update URLs to the the Nix manual to the version used by Nixpkgs unstable. + For example, if one wants to move from 2.18 to 2.19: + ```bash + sed -i 's#https://nix.dev/manual/nix/2.18/#https://nix.dev/manual/nix/2.19/#g' $(ls **/*.md) + ``` + ## What you can do ### You want to learn and use Nix? diff --git a/default.nix b/default.nix index 9c73d5333..0150a0c95 100644 --- a/default.nix +++ b/default.nix @@ -27,6 +27,8 @@ let ''; installPhase = let + # Various versions of the Nix manuals, grep for (nix-manual)= + # This requires human interaction to update, especially on new NixOS releases, see ./CONTRIBUTING.md inherit (inputs) nix_2-13 nix_2-17 nix_2-18; nix_2-13-doc = (import nix_2-13).default.doc; nix_2-17-doc = (import nix_2-17).default.doc;