|
|
|
|
|
by blogle
2792 days ago
|
|
I have been using Nix for about 2 years now at our company and its pretty amazing. In my experience it doesn't make compiling things much easier than normal, but the difference is that once something builds, it just works. ALL THE TIME. In previous companies I spent a ton of time debugging other devs environments that worked fine on my machine, but cause linker errors, breakage due to transitive deps, slightly different compilation artifacts, etc. Furthermore most tools are language specific leaving you to fend for yourself to get the system dependencies or rely on a separate binary distribution package manager. Nix handles everything we throw at it, we have even configured our dev env to roll to the new nightly Rust every week without any effort from the developer. We also get the performance benefits of compiling everything with march=native. Additionally our dependencies and dev environments are cached, so most of our engineers never have to wait for things to compile. The issue we have ran into is due to the fact we are running a traditional distro instead of NixOS, which causes headaches when your code depends on a kernel module (Nvidia drivers for example) or you want to register systemd units. This has led us to have some hacks in our setup to make it work. Ultimately we are thinking of just making the transition to NixOS. Its unbelievable to me that I can deploy an entire mesos cluster with just two lines of code. FWIW if you enjoy Nix and are interested in using it in production feel free to reach out to me.
brandon [at] standard [dot] ai |
|