Fascinated by so many replies of "actually Nix does this just fine, you just have to be an expert like me"
I think in some cases things are just fundamentally difficult and them being hard-to-understand is intrinsic. For example formal verification in Lean is hard to understand but I don't think Lean is badly designed.
But it's hard to see why package management is one of those things. There are soooo many ways Nix could be easier to use and understand. The language itself is unnecessarily esoteric in my experience - compared to something like Starlark for example.
Just the latest in the line of "my totalizing world view will solve all your software problems" to which the answer of "this doesn't do what I want" is always "you're holding it wrong."