How does it compare to chocolatey?
The declarative abstraction of just setting values of options is very nice but I quickly ran into many edge cases where it leaked, which have been fixed years later. Obviously I don’t want to wait years but I couldn’t figure out how to fix it myself. I was able to overcome the learning curve of all the various hyphenated CLI programs (seriously what’s up with that), how home-manager fits in, basics of the nix language, etc., but got stuck at trying to learn nix well enough to actually contribute.
There’s a huge barrier in straying from the well-trodden path, and I think that path will always be behind the cutting-edge. In traditional distros I just have to install something or edit a text file somewhere. Prime example right now is pytorch with rocm support. In Arch Linux it’s pacman -S python-pytorch-rocm
. In NixOS I barely remember and I don’t think it even worked for me but I think it was this: https://github.com/nixos-rocm/nixos-rocm#installation
I started using dotdrop to track and manage my user and system configurations and wrote a basic ansible playbook for my desktop install setup which has achieved 90% of what I was looking for in NixOS. These days what intrigues me about NixOS is that it might be a great alternative in the server space as a competitor to using docker or wasm.
They do get updated but very conservatively. They prioritize stability so their older kernel and system/library packages means all of their packages in general are also kept behind. Debian 11 for example is still on Python 3.9.2 whereas in Arch it’s at 3.11.3 (and it’s called python not python3).
I envy Gentoo for having x86-64-v3
Arch Linux. Always very up-to-date and the AUR is huge. No dealing with PPAs or snaps or flatpaks or appimages. Just paru -S any-software-ever-made
. Also very streamlined (systemd for everything lol) and well documented. I tried NixOS for a bit but it was very inconvenient in comparison and I felt like it was impossible to tinker with or understand if you weren’t good at Haskell. Terrible documentation.
For servers it’s definitely Debian + docker.
It’s really fun but still kinda rough around the edges. I wish there other games like this that are fully fleshed out and complete.