Remember the days when everyone and their pet iguana was raving about Arch Linux? You couldn't escape the ever-so-subtle "I use Arch BTW" remarks in every Linux forum. Well, move over, Arch, because NixOS is here to steal your thunder! Nowadays, it seems that you can't browse YouTube or read a blog ...
I've been on nix for only 2-3 days so take what I say with a grain of salt. I think it's pretty useful. Back in Arch/EOS, I always find ways to mess up the system (I switched to Nix because of a failed system update on EOS). On Nix, it's so easy to roll back and you don't even need to use the terminal.
sudo nixos-rebuild switch --upgrade
There are (afaik) 3 channels you can choose: stable, unstable, and small(?). I'm staying on stable for now. Package manager is slower than pacman, imo, and it's not as straightforward as Arch. Some programs (like kde connect) need to have service enabled in config.
Rebuilding after adding a single program doesn't take too long (depends on the program but often less than a minuet).
Rebuilding after upgrading the channel takes longer on my slow internet as many programs have version upgrades that need to be downloaded. I think it took 30-60mins last time. I imagine it would be faster with better internet.
never had that issue before, as long as they have the same version and config
Pure:
If you uninstall a software it might still have residues. If you install a faulty driver, even if you uninstall it, it might still permanently mess the system configuration.
But with nix if you uninstall something it's like it never existed in your system.
Reproducible:
With nix all the apps in your OS are configure using a single or a few config file(s). So if you want to setup another system the same way you don't have to go hunting for dotfiles.
avoid dependency conflicts
that’s not something I have to deal with on Debian/Mint.
Because you are recommended to use only software present in the repositories. If you are the kind of person who doesn't need software outside of your OS repositories then of course you might never need to worry about dependencies. Other people are doing the job for you.
But if you want to software not in the repos and even if you want to package it for your OS you might run into dependency issues. Never with nix. It's more for people who don't mind packaging software for themselves (and the community) and don't want to deal with nasty dependency issues.
never had that issue before, as long as they have the same version and config
Then you are very lucky. "It worked on my machine" is a meme for a reason.
wasn’t that possible before with snapshotting (btrfs/lvm)?
I haven't used snapshotting with those before. I guess the difference is that with nix it is done by the package manager by default, with btrfs/lvm you would have to set that up independently (please correct of this is not the case).