Hacker News new | ask | show | jobs
by mrath 1271 days ago
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.
2 comments

There's often a bunch of different versions in nixpkgs. For example, postgres currently has 11 through 15 available (https://github.com/NixOS/nixpkgs/blob/e7f345ca81f4f5513c4e73...). Nodejs has 14, 16, 18, and 19 (https://github.com/NixOS/nixpkgs/blob/e7f345ca81f4f5513c4e73...).
Finding a way to install a specific version - not git commit or git tag, version - of a package is the problem.

https://github.com/NixOS/nixpkgs/issues/93327

Nix before flakes used channels, each with a flat global namespace. Flakes are intended to sit inside the git repo, so that's even less discoverable.

Nix solves practically every technical problem, but has terrible UX and documentation.