I just noticed that all of the checkInputs have been replaced with nativeCheckInputs. What was the rationale for this change? The treewide commit includes only a very brief description of the changes and doesn’t link to any kind of RFC or anything like that.
So a few questions:
- What is
nativeCheckInputs? When should one use checkInputs vs nativeCheckInputs?
- What’s the rationale for changing the old
checkInputs system?
- What is the protocol for these sweeping treewide changes? Presumably there’s some discussion and process around them?
2 Likes
cc @symphorien, the commit author
There is more context and a link to the previous discussions started about a year ago about the issue in the commit introducing nativeCheckInputs: nativeCheckInputs by symphorien · Pull Request #206742 · NixOS/nixpkgs · GitHub
nativeCheckInputs are also documented in the manual: Nixpkgs 24.05 manual | Nix & NixOS and in the release notes NixOS 24.05 manual | Nix & NixOS
I’m also adding more high level documentation currently: https://github.com/NixOS/nixpkgs/pull/213403
I’m intentionally not paraphrasing it here; if you don’t find it clear enough please let me know and maybe we can improve it.
Regarding discussions, besides the issue/PRs (it’s the second attempt), I asked for opinions/oppositions several times on the nixos dev matrix channel. Surprisingly there were very few objections.
4 Likes
Thanks for explaining @symphorien! I appreciate your response, and I’ll go check out these links!