My guess would be the deterministic configuration management. If it’s for a personal machine then do what you want to make it your own but if it’s an organization (e.g. government) you want the machines to be as similar as possible to reduce maintenance. Think cattle, not pets.
I’m honestly amazed ansible still exists. I used it regularly like 10 years ago and never liked it. I use NixOS for all my servers and package all my code as nix flakes, and I agree that they’re barely comparable.
NixOS is a kinda frustrating desktop distro to me though. Sometimes you just wanna type make
Its use of the Nix package manager means that each package is installed in its own directory with immutable and signed contents. That alone means that the setup is incredibly easy to reproduce across multiple machines, something that is an obvious benefit when dealing with different facets of a government.
Id argue an immutable distro would likely serve the same purpose but maybe its also because nixos isnt as “locked down” so itd be easier to configure for a specific purpose?
The big draw is probably that it’s declarative, so you can define installations as code much the same way as you would do with Terraform. Instead of needing a pile of messy Ansible playbooks running custom scripts to change anything (and which can break if the target machine has an unexpected config), you’d just have one that pushes a new version of the config and runs nixos-rebuild. Rollbacks are just as easy if anything breaks. What’s not to like?
Right so in that way, its very reproducible. That was my understanding and I appreciate you for the more in depth explanation but is there advantage to that versus an immutable distro? Wouldn’t a immutable distro work in a similar way being reproducible among many machines?
Rollbacks can be done on immutable distros as well right? I’m just curious why Nix was the first choice and not something immutable.
Finally. Been saying for years, NixOS is the obvious choice for a gov distro.
Now we need to convince Canada to do the same. If everyone leaves Microslop, that would make a huge impact.
Why?
Honest question.
My guess would be the deterministic configuration management. If it’s for a personal machine then do what you want to make it your own but if it’s an organization (e.g. government) you want the machines to be as similar as possible to reduce maintenance. Think cattle, not pets.
Ansible is a thing though. It is also a more complete, mature and easily substitutable solution vs pinning your hopes on a single distro.
Programmers like NixOS because they are programmers.
i used ansible some years ago and i’m using nixos currently and you can not compare those two.
i was not fluent in ansible and i’m not fluent in nixos. yes you have to leave your comfort zone for nixos, but your get so so much more.
the jinja templates in yaml feel like a big hack if you used nixos.
would really be interesting to hear someone talk who is comfortable to use both of them.
I’m honestly amazed ansible still exists. I used it regularly like 10 years ago and never liked it. I use NixOS for all my servers and package all my code as nix flakes, and I agree that they’re barely comparable.
NixOS is a kinda frustrating desktop distro to me though. Sometimes you just wanna type
makeI use Gentoo for desktop, never understood the need for nix there.
Ansible is US-owned. Even though it’s open source, Redhat, a US company, is the one that controls its lifecycle.
NixOS is based out of the EU.
Fun fact, Nix, Nixpkg and NixOS have their roots in the Netherlands. For example, Nixpkg was even described in a PhD thesis at Utrecht University.
I am curious, what makes NixOS such a good choice?
From the article:
Id argue an immutable distro would likely serve the same purpose but maybe its also because nixos isnt as “locked down” so itd be easier to configure for a specific purpose?
The big draw is probably that it’s declarative, so you can define installations as code much the same way as you would do with Terraform. Instead of needing a pile of messy Ansible playbooks running custom scripts to change anything (and which can break if the target machine has an unexpected config), you’d just have one that pushes a new version of the config and runs nixos-rebuild. Rollbacks are just as easy if anything breaks. What’s not to like?
Right so in that way, its very reproducible. That was my understanding and I appreciate you for the more in depth explanation but is there advantage to that versus an immutable distro? Wouldn’t a immutable distro work in a similar way being reproducible among many machines?
Rollbacks can be done on immutable distros as well right? I’m just curious why Nix was the first choice and not something immutable.
But not curious enough to read the article.
You know, you could simply be helpful.
Sure.
It’s in the fourth paragraph, starting with
and ending with