My nix ain’t that great, but it looks like it’ll always pick the highest one, so no matter what attribute you pick, you’ll get the highest one (535.85.x)
hardware.nvidia = {
modesetting.enable = true;
open = true; # use open source kernel module
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
};
Gives me 535.85.x, the highest one. I can try .beta, .latest, .stable, all the same version (production, 535.85), or more like my build won’t do anything, since there’s nothing to do.
Thanks for confirming and digging up more information about it.
I agree Nvidia has some weird scheme, but I don’t agree with the way it’s handled in nixpkgs. It should be presented as-is (unless security/broken) by the upstream.
Or at the very least if I goto Nvidia’s site https://www.nvidia.com/en-us/drivers/unix/ I’m being presented with certain naming & versions, then I go search nixpkgs, and I’m presented with the same naming scheme except it doesn’t follow the versions. That leads to some confusion.
I think there is use-cases too for allowing users to decide between the different versions presented by Nvidia. Considering how buggy the drivers are, the latest isn’t always the best for different users.