Hacker News new | ask | show | jobs
by jdally987 2053 days ago
NixOS, my friend. NixOS.

I still can't believe it's not more widely used (and I only started using linux full-time earlier this year). It confines the entire (non-user) filetree into the read-only /nix directory, and manages every single component of the OS through Nix, the package manager - and I guess nix-daemon in the case of NixOS specifically - 100% declaratively. You define the entire thing through a single configuration.nix file.

You can even do crazy stuff like erasing the root upon each reboot, leaving only /nix and /home if you wanted, and I think I remember in the article I was reading about it that it can mount everything on a tmpfs or something like that, so you have a perfectly "clean" root tree every time you restart the computer (as /nix is stateless, it's guaranteed not to change except when rebuilding the system configuration).

The point of nixos is really the declarative aspect, with "splitting" the OS being more of a secondary benefit, but for your case, you might like the whole declarative builds thing in general to accomplish that.

1 comments

> NixOS, my friend. NixOS.

Is there an option that doesn't require everyone who uses it to learn an entirely new language?

>Is there an option that doesn't require everyone who uses it to learn an entirely new language?

This.

Also, in my experience proponents of NixOS significantly understate the technical complexity and various idiosyncrasies present in trying to get NixOS set up and usable for daily driving. I found several examples where the documentation was unclear, confusing, or out of date.

Coming from DevOps, I'm certainly a fan of declarative/immutable patterns, but it feels like NixOS requires more work than some would have you believe.

One of the joys of computing is that sometimes you have to educate yourself on new developments.