Comment on Tool to manage CLI tools
degen@midwest.social 11 months agoI only started diving into nix this year so I’m still learning, but yeah, I’m pretty sure the lack of granular versioning is a common pain point with nixpkgs. I’d suggest checking out flakes if you haven’t already, but be warned, it gets hairy lol
pkill@programming.dev 11 months ago
It is not? At one of my previous jobs it was nix that allowed me to get a compatible legacy version of kubectl up and running easily iirc
jeffhykin@lemm.ee 11 months ago
It definitely still is. Just because it’s very possible doesn’t mean it’s not a pain point for many people.
With the right tools getting an old version is fine. But mixing that old version with newer versions of other packages causes problems because of the nix LD_LIBRARY_PATH issue.
pkill@programming.dev 11 months ago
Eh so probably got lucky with the fact that the software I needed was statically linked
jeffhykin@lemm.ee 11 months ago
I was lucky for a while too, since you can also get lucky with dynamically linked libraries. Sometimes they find the new version of the .so (from other packages) and it works, but sometimes it finds a system .so and works until there is a system update. Which ruins the whole reproducability thing, although using the sandbox options of nix can help with this.
Nixpkgs is better about patching versions now, but that’s the thing; using old versions is like going back in time. We’d need to go back in the git history and also patch the super old version.
There are tools like nix-ld which can help, but they need to be setup and they’ve got edgecases too.
degen@midwest.social 11 months ago
For some reason I thought it was more annoying to work out than it looks to be. @RegalPotoo you might want to check out nix-versions
jeffhykin@lemm.ee 11 months ago
Actually Lazamar’s is kind of out of date. Here’s the best systems for it:
And I made a CLI that let’s you search all four of those simultaneously!
nvs