Fix package fetching for nixos-25.11 and nixos-unstable - #59
Open
natsukium wants to merge 1 commit into
Open
Conversation
Newer nixpkgs revisions (nixos-25.11+) no longer expose `recurseIntoAttrs` as a top-level attribute on the package set, so `super.recurseIntoAttrs` in `packageOverrides` raises an evaluation error and no packages are returned for those channels. Switching to `super.lib.recurseIntoAttrs` would fix new revisions but break old ones (e.g. nixos-17.03 has no `lib.recurseIntoAttrs`), so inline the underlying mechanism (`recurseForDerivations = true`) instead. That attribute has been the implementation of `recurseIntoAttrs` for the entire history we index, so the call site no longer depends on a helper whose location has shifted over time. Verified end-to-end via `nix-env -qaP --json` against nixos-17.03 (36363 packages), nixos-25.11 (127054), and nixos-unstable (130718).
|
Thanks @natsukium I came here to see why the site no longer gets updated so nice to see this PR @lazamar any chance to fix? The site was very useful, and still is for older stuff but a shame there is many packages missing now |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nixpkgs 25.11+ removed
pkgs.recurseIntoAttrs, sonix-env -qaP --jsonfails fornixos-25.11,nixpkgs-25.11-darwin,nixos-unstable, andnixpkgs-unstable— no packages are indexed for those channels.Inline
recurseForDerivations = trueinsrc/Nix.hsto restore fetching across every indexed channel.Cause
Nixpkgs commit
03bb7d81954d"all-packages: do not export lib functions from pkgs" (2025-10-30) movedrecurseIntoAttrsout of thepkgs/top-level/all-packages.nixresult attrset, sosuper.recurseIntoAttrsinpackageOverridesnow raisesattribute 'recurseIntoAttrs' missing.Why not switch to
super.lib.recurseIntoAttrs?lib.recurseIntoAttrswas added in8935bfb4ac36(2019-09-11), so it is missing from every release before 20.09.This project indexes from
nixos-17.03upward, so neithersuper.recurseIntoAttrs(gone in 25.11+) norsuper.lib.recurseIntoAttrs(missing pre-20.09) alone covers the full range.recurseForDerivations = trueis the underlying mechanism ofrecurseIntoAttrsitself (seelib/attrsets.nix) and has been stable across every indexed revision.Verification
Reproduced against
nixos-25.11HEAD (c7f47036d3df2add644c46d712d14262b7d86c0c) using the samenix-env -qaP --jsoninvocationsrc/Nix.hsruns per commit.Before (current config with
super.recurseIntoAttrs):After (patched config with inlined
recurseForDerivations = true):Cross-check on the oldest indexed release
nixos-17.03(2c1838ab99b086dccad930e8dcc504b867149a0c) — wheresuper.lib.recurseIntoAttrswould not exist — with the same patched config:related to #58