4 ms·
I’ve been using nix for a month and definitely the hardest part is that it’s a leaky abstraction. So if it works, setting up nginx or rabbitmq is as simple as w
by myaccountonhn 3y ago
I’ve been using nix for a month and definitely the hardest part is that it’s a leaky abstraction. So if it works, setting up nginx or rabbitmq is as simple as writing `service.enable = true`, and it’s truly magical.
If something goes wrong you have to understand 1. Nix 2. Nix abstraction on top of the service 3. The service and how it’s configured 4. Linux, it’s a lot to ask.
- anotherhue 3y agoAgreed but I've found when you eventually wrestle with it you get amazing powers. E.g. Patching a system package from source in a completely reproducible way, while still remaining synchronised for package upgrades. (Assuming the patch still applies.) All in about ten lines of code. They're called overlays if anyone is curious.
- saghm 3y agoAs someone who hasn't done more than dabble in Nix one weekend a few years ago, I don't doubt how powerful it is, but I'm not fully convinced that similar power couldn't be achieved with a better UX. My sense is that most people who voice concerns like the parent comment probably feel the same; right now, the amount of "activation energy" needed to get to the point where it's worth it feels too high, and I don't know if it's more likely that Nix will fix that (either in terms of better UX or documentation) or if someone else will come up with something that managed to give a better tradeoff in terms of amount of work needed to get started.