How to know how to set the version for a nixpkg

I was trying to upgrade my local Go to 1.24 yesterday because pkgs.go was defaulting to 1.23.5.

I found that I needed to set the version using underscores like pkgs.go_1_24 by searching through GitHub for examples and then also asking Claude… but then I could not get Claude to explain why. And nothing is jumping out at me in the nixpkgs pkgs/development/compilers/go folder.

Can anyone point me to where that versioning syntax is defined for a particular package?I ask because it can be different for each package, for example Python is pkgs.python312 and also I want to understand how a more Nix-fluent person discovers this?

Thanks!

And if it’s in pkgs/by-name, the attribute name is based on the directory.

1 Like