this post was submitted on 01 Jul 2023
181 points (96.9% liked)
Programmer Humor
32453 readers
345 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
probably until it is easier to pinpoint specific versions of any package in question
Nix flakes do that. The flake.lock file automatically pinpoints not just specific versions but specific builds of each package and locks them to their hash. It will also soon be content-addressed by default which would mean that each derivation takes into account the contents of the entire dependency tree and how they relate to one another.
They technically do, but let's say I want to have
kubectl v1.10
andgo v1.0
among others. Some packages do get packaged multiple times for each version. Most don't. Then you end up hunting down build hashes for each version using tools like https://lazamar.co.uk/nix-versions/ which work I guess but the UX is not great. Talking about this with my colleagues, most won't bother until you can declaratively list tools and versions directlyCorrect me if I’m wrong: in my understanding, you could also package your own custom derivation from scratch that would do that. I agree that the UX is clunky at best but (in my perhaps incomplete understanding) you can do that today.