Ask HN: Who is using immutable OSes?

5 points by Pooge 3 days ago

I'm interested but I wonder how easy to use they are. What are some benefits and downsides to using them?

Please try to answer with your experience whether you used it on a server or PC. I'm interested in both.

kstenerud 3 days ago

I used NixOS on three servers for about a year. It was a pain to learn the syntax. It was a pain to read the docs (they're all self-referential and don't explain anything unless you already know how it all works). It was EXCRUCIATING to debug problems (if you screw something up, either it just stops working entirely for no apparent reason, or you get some obscure, seemingly unrelated error deep in the guts of the system). It took 10x as long to add nonstandard software, and maintenance of those packages was a nightmare.

But if you planned to never change anything ever again, it was great (once you got it running) - except when CVEs came out.

Eventually I realized that I didn't actually need immutability. With some carefully maintained shell scripts, a MINIMAL host system, containerization, and a dollop of discipline, I could achieve effectively the same thing on a much more mature system that has a vibrant and helpful community and the long-tail third-party support. Everyone makes a .deb for their software.

This is how I do it now: https://github.com/kstenerud/proxmox-containers

  • nextos 2 days ago

    NixOS is great and IMHO the lowest maintenance effort of any OS if you can stick to well-packaged software. It's also low effort if you need to package simple things yourself.

    However, if you have to use something slightly unusual, it can become very convoluted quite quickly. Sparse documentation doesn't help, as you pointed out. One thing to keep in mind is that there are several escape hatches, such as FHSUserEnv or Distrobox.

    But if you need escape hatches too often, it kinda defeats the purpose of using NixOS altogether and something simpler is more adequate.

seungwoolee518 3 days ago

I've used Talos Linux[1] on a production infrastructure. To keep a Maintainability. (Because there are no person to maintain a infrastructure 24/7)

All the configurations are made and came from YAML. So I can manage and share on Git. And able to spin a new node (or cluster) ASAP.

For my own, I'm using a NixOS as a daily driver. It's pretty great to spin up machine and environment ASAP. (I don't know why I keep saying `ASAP`, but time is a money.)

However the downside is require a strong knowledge of Nix Language. Sometime the installer crashses.

---

[1]: https://www.talos.dev/

navjack27 3 days ago

As far as I understand, the correct way to use an immutable operating system is to run containers or virtual machines on it and don't do anything with the base operating system.

Maybe if you need to go out of your way to install proprietary Nvidia drivers if they don't include it or something like that is the most you should do.

Correct me if I'm wrong though.