Nix is amazing in many ways, but its discoverability and transparency are sometimes very poor. Its module system is anything but lean and straightforward.
I say this as a daily user of Nix.
I say this as a daily user of Nix.
(I say this as somebody who deeply loves the concepts in most functional languages, and loves the concepts in nix, but recognises that the developer-experience of both is about as pleasant as reading somebody else's code-golfed perl)
The concepts in functional languages are not fully realized in any multi-paradigm languages. So you can admire all you want, but don’t knock it until you’ve actually tried it.
Now compare it even to Haskell, to say nothing about e.g. Typescript.