An immutable distro… like NixOS? Or do you mean your root filesystem is immutable? NixOS can do that too. You could normally mount your nix store as readonly and remount rw during updates if you really care about filesystem immutability, or use some snapshot system if you’re paranoid about adding new files to the store corrupting other files already in the store during an update.
The nixpkgs VM creation module, which I’ve never seen documentation for, has a mode where it generates a kernel, initrd, kernel command line, and erofs image containing a prepopulated /nix directory and that’s enough to boot the VM.
Ansible is disappointing as an IAC tool. It’s good for doing things, but it’s not good for converging systems to a desired state. Too often you end up with playbooks that are not idempotent or rely on something that was done during a previous execution of the playbook or just don’t do something that was done by a previous version, and then unless you are constantly recreating your systems you won’t notice until it’s a problem and you can’t get your system back.
non_burglar@lemmy.world 21 hours ago
I love alpine, and I use it where I can. And it has many advantages over other distros and setups. But a declarative, ram-only distro that boots over the network doesn’t help manage non-conformant machines.
I still need to manage Debian, old centos boxes, Ubuntu machines, and a couple old-as-time sun machines. Nixos isn’t the tool for that job. Ansible has two dependencies: ssh and python, and there are ways around the 2nd one. Ansible works really well here.
Not trying to bash nixos, here, but I’m not sure why so many users on Lemmy compare ansible and nix, they don’t really operate in the same spaces.