🐧 How exactly is Nix's purely functional package management different from typical package management? And why does it need to be purely functional?
Nachrichtenbereich: 🐧 Linux Tipps
🔗 Quelle: reddit.com
I tried reading the Nix documentation, and honestly a lot of it went over my head. (Not the user manual; the technical stuff). I was hoping someone could explain how it works in simpler terms.
This is what I've got so far:
Purely functional package managers treat all packages as immutable values
A lot of people claim this eliminates dependency hell
All of this has something to do with cryptographic hashes encoding information all of a specific package's dependencies
I assume I'm just completely missing something here, but how exactly is this different from the Gentoo system of slotting different package versions into the same system, and then saving the system state in a world file? I mean aside from the fact that Nix keeps a record of all previous states (in which case, how is it different from Gentoo + world file logs? Or Gentoo, but with snapshotting?)
I've seen suggestions that, whereas most Linux distributions check the behavior of packages to see if something breaks, this never happens with Nix. I think that's the part I'm most unclear on: how does that work? And why would you need a purely functional package manager to implement something like that?
And assuming all of that is true, given that a companies like Red Hat and SUSE shell out oodles money to an upstream distribution principally to make sure their software is stable and doesn't break, how have they not shifted their entire infrastructure to using Nix yet?
[link] [comments] ...
🔧 Getting started with Nix and Nix Flakes
📈 30.65 Punkte
🔧 Programmierung
🐧 Need help, but not the typical type
📈 25.46 Punkte
🐧 Linux Tipps
🐧 Why different Repo for different version
📈 23.15 Punkte
🐧 Linux Tipps