Hacker News new | ask | show | jobs
by o11c 431 days ago
I'm pretty sure the best middle ground that currently exists is the various "immutable, snapshot to upgrade" distros out there.
2 comments

Yes and no. It has some of the same advantages, but not the declarative definition of a system.

For me (even though I use NixOS the desktop) there is a difference between desktops and servers. I can set up a desktop pretty quickly - install a bunch of flatpaks, checkout a bunch of dotfiles and I don't do it often.

Also, popular desktops like Fedora tend to be far more polished than the NixOS desktop, which has all kinds of glitches. Just to name two current ones: (1) gdm login will fail if you are too fast and log in before WiFi is up (usually you are thrown back in gdm, sometimes the session freezes up completly); (2) fwupd firmware updates usually fail.

On the other hand, on servers and remote development VMs, the setup work is annoying because I spin up/down machines far more frequently and managing them as pets gets old pretty quickly. So NixOS is much nicer, because you can have a system up and identical in 5 minutes. You could of course approximate it with something like Ansible on non-NixOS.

Though, I think the differences will become smaller since Fedora-based immutable systems will switch from OSTree to bootable containers soon [1].

Of course, you can use Nix on another immutable distro than NixOS.

[1] https://docs.fedoraproject.org/en-US/bootc/getting-started/

Depends on your use cases. I use Nix all the time at work but I don't use NixOS there at all. (I'd like to, but there are barriers and it's not a priority.) Distros like that don't address my use cases at all.