3 ms·
Good for you. That means you haven't encountered a problem that Nix is designed to solve. (Nix is very much a "worse is better" tool in the tradition of hackin
by otabdeveloper4 5y ago
Good for you. That means you haven't encountered a problem that Nix is designed to solve.
(Nix is very much a "worse is better" tool in the tradition of hacking something together out of existing tools until you a minimal working product. It's designed to solve a particular class of problems quickly and painlessly, even if the end result isn't "clean" or "elegant". The "clean" and "elegant" solutions to these problems are vastly more complex and overengineered.)
- CJefferson 5y agoI believe I have a problem Nix is designed to solve (reproducible builds) all the time. However, one can work around it with enough pain and suffering on Ubuntu (I can write a shell script to download and build the specific GCC, GHC, rustc and other packages I need and build from source where required), and still find that much easier to distribute to my colleagues, rather than having to teach them to use Nix. What else is Nix good for? I'd be interested to know.
- whateveracct 5y agoNix allows you to abstract over your shell scripts. Like pack those fuckers in a derivation and now people can install them with Nix in a uniform way (and compose them with their own packages) instead of manually shell scripting. You can even use a single overlay to add a namespace to your company's nixpkgs, which will then allow your colleagues to discover all the versions of all those tools with nix repl > pkgs.CJefferson.ghc<TAB> and boom! All the GHC versions you've worked hard to package across branches and repos etc will be at their fingertips. As is always the case with FP, composition and abstraction is the big longterm win with Nix. No other comparable tool comes close on those axes.