NixOS 20.03 is released
nixos.org
nixos.org
As someone just getting into Nix and NixOS myself, I found one particular comment there offers an excellent summary after talking with a few others in person as well: https://news.ycombinator.com/item?id=22891648
Essentially, after an initial investment of time for learning curve, the huge payoff comes when migrating to another machine because of system-wide configuration being reproduced with precision.
In my case, moving back and forth between laptop and desktop/workstation was a pain point with Xubuntu. A delta of less than one hour between `apt-get dist-upgrade` on two devices was enough to translate into divergence of versions in some packages.
We've come a long way since days of tsx-11, but I digress.
When it got to the point of reinstalling docker, I just gave up and used brew.
My personal box runs Arch Linux, which uses pacman. It’s fast, and the commands are based on combining a common set of letters.
To me, nix is the epitome of the problem with OSS. A brilliant idea crippled by abysmal UX because enough emphasis isn’t put on what’s necessary for people to use it if it isn’t the center of their life. If I were working on nix daily and focusing on it constantly, I’m sure I’d feel the commands are obvious because I’d incidentally memorize them all. But when using it as just one of many critical tools, it simply demands too much attention for someone to be productive.
That isn’t to say it’s worthless. It’s still an impressive achievement and I’m glad someone did it. What will hopefully happen is that someone will write a new ’nix’ frontend tool to make it simple and intuitive.
From Debian+cfgmgmt to NixOS I've gone from a feeling of dread that my machine wouldn't be rebuildable, to confidence they can.
A build tool to construct a Linux machine conceptually makes more sense to me than taking a distro and repeatedly mutating it.
NixOS's model is similar to React's: build the system/value you want, and NixOS will perform the diff/apply to your actual machine.
The downsides are:
* It doesn't look like an ordinary Linux machine. No FHS.
* CLI tooling is a bit awkward.
* Short support for stable releases. I see NixOS being suitable for rolling release, even in a production environment. NixOS's repo and your own repo can easily add multi-machine integration tests so NixOS machines can use familiar techniques like CI/CD/push-on-green.