3 ms·
Genuinely curious, I've heard of Nix OS but I don't know anything about it. Why do you think interest will grow, and would you recommend it?
by throwaway24124 5y ago
Genuinely curious, I've heard of Nix OS but I don't know anything about it. Why do you think interest will grow, and would you recommend it?
- jeppesen-io 5y agoI love it, but I'd hold off on recommending it outright for everyone. There's a learning curve to be sure and if you run software not provided in its packing system it can take time to port to the Nix way Just about everything in a NixOS is configured in a declarative way, but that only really scratches the surface. It's the first Linux OS I've used that configuration is done at a wholistic level Say for example you have a RHEL/Debian Linux server and you want to see how it’s configured. This sounds easy, but can be quite time consuming. You can see what packages are installed but then you’d need to examine all the /etc files. Try and see which ones are modified. Look at all services, look for further configuration that may exist in /opt or /usr. When you get to a certain scale tools like Chef, Puppet or Salt tend to help with managing configuration. Over time to meet compliance and monitoring requirements configuration can grow. And that’s not getting into any filesystem permissions you may set. If you're using `yum install` or `apt-get` to install packages out of the system repos, you'll get the latest package in that repo. Run that command at different times, you can get a different package version In NixOS the system and packages are versioned together; makes for very reproducible systems. The downside/upside (depending on your needs) is, updating your kernel will update your packages in lockstep With NixOS, you can configure a complete system with a single file making Chef, Puppet or Salt obsolete. Once you get over that first hurdle of using NixOS and moving your workloads to it, it tends to be easier to maintain The major downside I run into is that most of the world does not use Nix[OS]. So if you need something not provided by Nix[OS], you’ll need to learn how to make your own package (derivation) There are many caveats to everything I said above, but its the general idea