kstenerud
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

seungwoolee518
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
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.