Minor grievance, but I've never had particularly good luck with search engines and the term "nix". Usually I get things for `*nix` or NixOS. Even if I search for `nix package manager`, I would get things like "Congress nixes package ..." as the top few results.
Hm, top result for me with that search. I think search results are personalized on my end as they are usually highly relevant. Are you incognito or something?
I can see where it might be useful in formal environments and have used nix before sparingly. I found quickly that you need to get in the habit of using the same package manager, when after a few months I couldn't remember how to use a nix package or didn't know how to update a package properly (can't remember exactly what the problem was).
I use nix on my personal machines, including ubuntu and macos. It's more convenient than apt and homebrew because I only have to be familiar with one package manager, and one package repository. I can pin to the same version of the repository on all machines, and have identical software.
I'm no longer frustrated by not being able to get the same version of a package between versions of ubuntu, not to mention between macos and ubuntu.
I'm no longer frustrated by a package in a repository being updated, breaking me, and not having a way to roll back.
I'm no longer frustrated by software installs being stateful, getting into a bad state, and having to uninstall and reinstall them. You'd be surprised, several times I've discovered that packages auto-update themselves outside of the package manager by overwriting themselves after downloading assets from the internet.
All the things you list as benefits are only better because you use single
packages source for all the machines, and one that has retention policy that
keeps many package versions, and doesn't have shitty packages with all the
content downloaded in post-install scripts. It's not because Nix is supposed
to be superior to APT or something; you'd get exactly the same if you used APT
with the same policies as Nix.
Yeah, exactly the same work as you would need with an OS-supplied package
manager to build your own package. For some reason, though, this is considered
sexy, while doing the very same thing for RPM or DEB is regarded as boring and
troublesome.
This is all well and good, and certainly the more examples the better, but this will only work so long as one is on GNU/Linux and so long as the compile or link stage don't bust.
And then, this whole complicated wrapper shatters.
The Nix package manager also runs on macOS. Think of it as a cross platform Homebrew. Your other objections apply to all package managers, and not just Nix.
I'm principally against abstracting package management across platforms, because experience has taught me that the software management subsystem of the target platform is the best system for that platform. I see no point in this abstraction since I understand that the best packaging format is the native format, and I've no problem mastering the native format.
I couldn't care less about NixOS, as I'm a UNIX (IRIX, Solaris, illumos/SmartOS, HP-UX) guy and always will be. I run Solaris 10 and SmartOS on my infrastructure, before that I ran IRIX and HP-UX as well on it.