that is one way to do it, and it’s a very common one - it’s robust and simple. So I can’t correct you, but thought I would add to it. In NixOS, they’ve improved it by making sure all your apps are symlinked, and when updating, these symlinks are updated. That way you can start using your newly updated system straight away, without a reboot. When rebooting, you are prompted to which generation you want to boot into, (defaulting to “latest” after a few seconds of no input) making rollbacks a breeze.
Agreed! I think a part of the “problem” is that with Nix, there’s now at least 3 sides: application specific knowledge, system knowledge, and you have to use the nix language, architecture and tools to interface with it. so for a seasoned linux user, there’s maybe just a new programming language, but if you’re new to Linux, it’s quickly gonna overwhelm you. which in a way is a bit ironic because I’d argue that it’s easier to manage a NixOS system, and getting help is so much easier when your problems can be replicated by just aharing your config.