The nix os is build around the nix package manager (nixos.org) - in theory it should work on any distribution - but IMO although it present the somewhat intriguing level of rolling back - it adds an unnecessary layer which only complicates things.
It may serve a purpose in large environments managed by other package managers like apt or dpkg but I have never really understood the concept.
On the other hand Archbased distributions has pacman which is tightly knit into the system - and IMO needs no helpers and pacman is not easily replaced/supplemented by the nix package manager.
On a system level - if you put timeshift on top of or should one say - below libalpm - then you have the perfect solution for rolling back a system update.
But that’s just me
My curiosity was spurred by this and I had to really look into what nix does and not does.
It seems the term package manager has different meaning when using in terms of nixos.
I will play around with it - and it is still to0 fresh - but it seems that the phrase
package manager is a little misleading as nix appears more like a virtual environment - not only for developers - but for endusers as well to run a given application - much like the Python virtual environment - but on a large scale.
Let me expand my knowledge - as this is more interesting - than I thought at first.
I couldn’t get it to work with AUR - so I tried the installation steps on the nixos web.
Even though the AUR package tries to get it right - removing the package does not clean the system. The AUR package leaves a bunch of system groups and folders which are not cleaned properly. This lack of cleanup is due the PKGBUILD being a wrapper around the official installer script.
The official installer script told me where I needed to clean my system and it left me with a working enviroment - which then confirmed to me what this package manager really does - it creates a controlled virtual development enviroment - well suited for recreating the developers environment on the endusers system - and thus ensuring the application in question is using the same set of binaries as the developer.
That is what this package manager do - forget about maintaining your system using nix as this is not the goal of this utility.