3 ms·
I agree with the preamble and the "our mission" stuff. I wish them success at bringing the benefits of nix to more users, but without it being limited to enthus
by rgoulter 4y ago
I agree with the preamble and the "our mission" stuff. I wish them success at bringing the benefits of nix to more users, but without it being limited to enthusiasts, and people who can afford to deal with rough edges.
The "external dependencies" thing shows how Nix can be a tough sell to those who don't click with it.
I'd say that the other solutions are:
- a README which has a bunch of "apt-get install" commands you can copy-paste from,
- a "setup.sh" script that installs things,
- a container or VM image with the toolchain setup,
- or a tool like asdf.
IMO, Nix is a much nicer solution than these other options, and has the benefits, avoids the downsides of these (but an entirely different set of downsides).
- wizwit999 4y agoHow about Bazel, doesn't it solve the same issues?
- rgoulter 4y agoBoth Bazel and Nix have some powerful features to them. (Though, oddly, they don't quite mix). I think they both also have downsides where, if your software does things in ways they don't like, it's difficult to use them. -- And, your team is going to have a tough time using the tool without sufficient expertise. As I understand it, Bazel's emphasis is more about compilation, where the big win is building projects where you've got a team big enough (& a project complex enough) that dealing with Bazel saves more time than it costs. Whereas with Nix.. I think one good use case is "declare & lock the dependencies for this toy project", which then allows picking the project up without having to update your code following updates to the system package manager.