That’s gotta be it. All the other attribute sets we can see are marked recurseIntoAttrs
, and I noticed you can’t search some like haskellPackages
and steamPackages
unless you specify the attribute.
I don’t see why though that nodePackages
would be marked as “don’t recurse” since that one’s supposed to be applications, not libraries.
Edit: I see this issue that might be related: 10081 packages disapeared from packages.json · Issue #110348 · NixOS/nixpkgs · GitHub.
Edit 2: Probably not actually, but something similar might have happened. I see a number of packages that reference nodePackages.<package_name>
that are at the top level, but that doesn’t include some apps like Prettier.
Edit 3: Yep that’s it: all-packages.nix: introduce and use `dontRecurseIntoAttrs` by oxij · Pull Request #56105 · NixOS/nixpkgs · GitHub when it was first implemented, the various nodePackages
sets got a dontRecurseIntoAttrs
implementation. I’m guessing that stuck as time went on.
So I’ve come full circle I suppose to revise my original question: Why aren’t there more top-level NodeJS apps, if that’s the intended implementation for application packages?
Edit finale: Either way, it should really be consistent, with either all those apps available at the top level or making the nodePackages
attribute set searchable. Thank you @bobvanderlinden and @Pacman99, I’ll be moving this to GitHub now: Discrepency Between Node Application Package Level · Issue #117146 · NixOS/nixpkgs · GitHub