Hacker News new | ask | show | jobs
by Ericson2314 321 days ago
The leaky abstraction argument is itself leakly. Yes, it would be nice if we weren't putting lipstick on a Unix pig, but Nix never promised the underlying thing wasn't Unix. It sounds to me like he is moving the goalposts.

If he wanted to run a bunch of shitty precompiled binaries from NPM for work, I would simply create a normie Ubuntu container or whatever and use that. There is no reason one's personal configuration should have to kowtow to such work things — it's probably better to have that sort of work-life separation anyways.

1 comments

Right, the problem is that this leaky abstraction effectively now requires you're both good at Nix and good at fixing whatever tool it is that is refusing to work with Nix. That usually means diving deep into build systems, code that makes wrong assumptions, and probably other hairy topics. In return you do get a state of the art system, but you very often need to put in work you otherwise wouldn't need to.

I don't mind that because that's how my brain is wired, but there's plenty of people who don't give a shit and Just Want Things To Work Out Of The Box. Nix(OS) is certainly not for everyone.

I don't see what the problem is. What Nix is doing is far more transparent than the article's preferred solution of Docker images. While Docker images are entire distros crammed into a binary blob, Nix derivations are inspectable and customizable. Nix uses standard mechanisms to configure software, like config files and environment variables. It really isn't black magic.

Also contrary to popular opinion, Nix configs are actually easier to comprehend and maintain than configs written in Chef, Ansible, or Kubernetes. Having a proper language for describing large and complex pure data helps.