4 ms·
I've never used Nix, but it sounds interesting. I get the impression it's more used on desktop, but I'm curious if anyone has used it on servers?
by GordonS 5y ago
I've never used Nix, but it sounds interesting.
I get the impression it's more used on desktop, but I'm curious if anyone has used it on servers?
- xyzzy_plugh 5y agoYes. I know Shopify does (or at least did), I believe Target was a relatively early adopter. I think Tailscale dabbled with the idea. Everything feels quite stable from a server admin perspective, though there are still various competing methods to actually administer fleets of machines. Nix Ops is a bit opinionated but works okay. I just build locally or in CI and push to hosts remotely.
- ElonMuskrat 5y agoFWIW Shopify used nix-shell for the developer environment. If all they need to do is import standard packages - it's actually quiet a good solution for multi-platform dev environments.
- fesc 5y agoI'm using it for some internal systems at work and I feel there's nothing like it. NixOS gives a level of reproducability that other tools like Ansible won't ever be able to give you. This reproducability means it makes debugging problems very easy: E.g. uncomment a line in the config and see if something starts working again. You can nearly undo everything cleanly in NixOS by just doing that. On the other hand the learning curve really is pretty steep. Took me about half a year to get to a point where I understood it enough to be able to debug most errors.
- tinco 5y agoI would say it's more convenient and useful for servers, but it could also be used for desktop. In theory it's the perfect server operating system, but in practice many sysadmins balk at having to learn the configuration language which has some design flaws that make it awkward and they stick with old fashioned stuff like Ansible.
- ElonMuskrat 5y agoYeah. We've used it on servers. It's good in a small setting where a handful of Nix experts can run the infrastructure show. Getting it to scale to an organisation of hundreds wasn't feasible. As soon as we needed to start expanding "infrastructure" beyond just one team, and rapidly hiring new engineers in the context of rapid growth. Training and learning curve was intractable. And we cannot just easily hire NixOS experts like traditional Ubuntu OS. Nix made complicated things possible but simple things complicated. Pretty much every new feature request could only be processed by a handful of Nix experts, and it was obvious that wouldn't scale with the growth of the company. Frankly, Nix solves problems that the industry has already solved or knows how to live. Its lack of adoption from software vendors makes the economical cost/benefit unatractive.
- throwaway894345 5y ago> Frankly, Nix solves problems that the industry has already solved or knows how to live Agreed. Nix solves really important problems, but the problems it introduces tend to be worse. My instinct is that Nix is on the right path, but there doesn’t seem to be much awareness or concern for tackling these problems. Of course, this is the contributors’ prerogative—if they’re really just interested in making Nix work for the existing Nix community (rather than broadening it into the world of mainstream software development and operations), then that’s all well and good. But if they want to appeal broadly they need to make some significant changes.