Is there a way to pin a version of the tool with this? For me, the biggest problem with Nix is that version pinning is not easy, actually it is complex.
Pinning is first-class with the new flake method. When you create a flake, a corresponding flake.lock is created, similar to lock files in other languages. There's even a dedicated command now to upgrade the dependencies declared in a flake.
Yes, I think I get that. But it is not easy to pin on different packages. For example if I want golang 1.18, node 12, I need to find the commit corresponding to those and add them. I mean it is possible but not as easy as it should be.
Hello! When you add packages with Devbox add, we automatically pin your devbox.json to a specific commit in the Nix store. This ensures that any developer who uses your devbox.json will get the same packages that you do.
No, because older software versions are dropped often rather quickly, especially if they are not maintained by upstream anymore, to reduce required maintaince work on them.