Skip to content

recurseIntoAttrsWith: init#482817

Open
jopejoe1 wants to merge 5 commits intoNixOS:masterfrom
jopejoe1:recurseIntoAttrsWith
Open

recurseIntoAttrsWith: init#482817
jopejoe1 wants to merge 5 commits intoNixOS:masterfrom
jopejoe1:recurseIntoAttrsWith

Conversation

@jopejoe1
Copy link
Member

Made this after reading @wolfgangwalther idea in #481627 (comment). This is my initial implementation of it; it could probably use a lot of improvements.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

@jopejoe1 jopejoe1 force-pushed the recurseIntoAttrsWith branch from ff6819d to 0f04718 Compare January 22, 2026 22:33
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jan 22, 2026
Copy link
Contributor

@wolfgangwalther wolfgangwalther left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall; just some nits.

I believe the first four commits should be squashed, they form a single logical unit.

@jopejoe1 jopejoe1 force-pushed the recurseIntoAttrsWith branch from 0f04718 to 9f1ea86 Compare January 28, 2026 18:54
@jopejoe1 jopejoe1 marked this pull request as ready for review January 28, 2026 18:54
@jopejoe1
Copy link
Member Author

I believe the first four commits should be squashed, they form a single logical unit.

Sure thing, also applied your nits.

@jopejoe1 jopejoe1 mentioned this pull request Jan 30, 2026
13 tasks
Copy link
Contributor

@wolfgangwalther wolfgangwalther left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM; thanks.

Comment on lines +372 to +380
recursionMode = mkOption {
type = types.uniq (
types.enum [
"hydra"
"eval"
"search"
]
);
default = "eval";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pinging the @NixOS/nixpkgs-ci team, because eval recursionMode will be unused initially. However, if the Eval jobs were to pass recursionMode=eval to override recursionMode=hydra in release.nix, it would be possible to run CI's eval for more packages than those built on hydra.

Not done in here, because this probably needs better reporting of "rebuilds" - not all packages that are evaluated in "eval" mode will actually count as rebuilds for hydra, so the labels would be off initially...

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants