What's your opinion of the package manager "Nix"?

Heard someone recommend it recently. I see it in the AUR, I’m going to see if I can make sense of it.

I don’t really care about being able to replicate an environment from a single config file (though that could be useful) but I like the idea of rolling backward/forward versions of certain applications.

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 :slight_smile:

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.


I couldn’t get it working. I’m going to pass…

-Remove :tired_face: