3 ms·
Surprised not to see nix mentioned in connection with this topic! If you use nix (especially nix flakes), this consideration falls out naturally from the nixpk
by mpalmer 8mo ago
Surprised not to see nix mentioned in connection with this topic!
If you use nix (especially nix flakes), this consideration falls out naturally from the nixpkgs repository reference (SHA, branch, etc) you choose to track. Nixpkgs has various branches for various appetites for the "cutting edge".
- ameliaquining 8mo agoCan you explain how this works? Is it different from what's described in the "Language vs. system package managers" section of the post?
- mpalmer 8mo agoYeah, definitely. Think of it as what the post calls a "system" package manager. The difference between nix and the SPMs mentioned by the post is that in the former case, control over dependencies lies with you, not with the package manager. In other words, with nix you decide the spec of the software you want installed on your machine, not the maintainer of your chosen package manager. Depending on your use case and knowledge/experience level, either choice may be preferable. Also, nixpkgs is definitively the widest-spanning "package manager" on the "market"; see link. https://en.wikipedia.org/wiki/Nix_(package_manager)#Nixpkgs https://en.wikipedia.org/wiki/Nix_(package_manager)#Nixpkgs
- MadnessASAP 8mo agoYes! Nixpkgs straddles both worlds, like a system package manager it provides a way to install packages and their dependencies. However, like most language package managers it also imposes a locking mechanism so that every input into the nix expression* is locked to a hash, the mechanism is recursive and handles multiple versions of the same package in parallel. The recent(ish) concept of "nix flakes" means there are 2 related but different mechanisms for achieving this but the end result is the same. * In the land of NixOS everything is a nix expression including the system packages, configuration files, install image. It's all locked to hashes of upstream sources and is in theory, fully byte-identical reproducible.