3 ms·
I really like Nix, it seems like it has the potential to be the future of Linux, but it has enough issues that I'm not sure I'll be switching anytime soon. It s
by eternityforest 3y ago
I really like Nix, it seems like it has the potential to be the future of Linux, but it has enough issues that I'm not sure I'll be switching anytime soon. It still has the feel of something meant for Linux enthusiasts, not something that aspires to be the next Red Hat.
They do everything in a full programming language. That seems like an unnecessary layer of complexity. Other packages managers seem to mostly avoid the need to ever use the programming features, if they have any. Setup.py files are mostly just a static config, sometimes reading stuff from a file, only occasionally having any logic.
Nix seems like it's trying really hard to let you do whatever unusual stuff you want, rather than focusing on making common things easy.
I think a lot of the issue is that it's source-based, and they are aiming for purity and immutability throughout the whole process, above and beyond what other tools do.
They use unusual terminology and invent new concepts a lot. Like, a "derivation", which I understood at one point but forgot, but is like a Makefile equivalent, you make one with mkDerivation.
When you make a snap package, you pretty much just say "These versions of these .deb packages and these other snaps should be available in the environment of this package" and run it.
You can do "snap run --shell mysnap.mycommand" to mess around in the bash shell that your command would run in. It does pretty much everything I wanted Nix to do, and it's super easy.
I'm sure there are actual reasons why Nix isn't as easy as Snap though ,maybe the scope of the problem is just bigger, but it seems unnecessarily low level and hacker oriented rather than "just works" oriented, and the Nix website doesn't quite make it obvious whether this is a red had style production ready attempt, or am Arch style tinkerer OS.