NixOS is amazing. Literally a perfect distro. I use it on my personal server, and getting things up and running is both faster and more reliable than with Ansible. I have 2 VPS with identical configuration, one for testing, and the modularity of the Nix language makes this extraordinarily easy.
It's funny seeing other distros claiming they invented a solution to problems NixOS solved 20 years ago. Immutability? Atomic upgrades? Containers? Good job, Fedora!
Honestly, Nix's documentation is terrible. This is a good start, but eventually you will have to solve your problems with a lot of googling, browsing Nix forums, reading NixOS's source code (99% of which is written in Nix) and reading furry blogs (for some reason, a disproportionate amount of Nix bloggers are furries). I'd recommend installing the OS and trying to configure it however you like before trying more advanced stuff like flakes or packaging new software.
My experience with Nix is that I'm knowledgeable enough to use it somewhat properly and know which concepts to use and when, but it took me months and lots of trial and error to reach this point. At some point, it just clicked, and now I'm comfortable with it just like I am with regular Linux. And I find it MUCH better. On my server, I can add a new service and integrate it with my LDAP in 15 minutes. No way doing it by hand or using Ansible will ever be this fast AND reliable.
Thanks. Been running ubuntu as daily driver for 10 years and looking to change it up. I hate snap and where its going. So good as time as any. Will move desktop eventually if i like it enough as long as i can game as easy (amd/amd) via steam.
I started using nixos three weeks ago. I use it every day on desktop now, and also switched my homelab serve to it. These videos on Vimjoyer's channel where a great starting point. I recommend trying to go straight to using a flake to update your system instead of channels. Its confusing to get setup, but makes so much sense once you do.