3 ms·
My concern is that it would be more difficult to install software that doesn't have a nix package built (in particular, from git repo trunks), and also more dif
by danieldk 8y ago
My concern is that it would be more difficult to install software that doesn't have a nix package built (in particular, from git repo trunks), and also more difficult to have confidence that the software I write would work on other Linux distros. For this reason I chose Arch over NixOS.
I have a set of overlays for various packages and try to submit updates and improvements upstream. Having some experience with making packages for other package managers, I found making Nix derivations easier than RPM or deb packages and about as difficult as Arch PKGBUILDs. stdenv automates a lot of work, and when a package uses a standardized configuration/build system (autotools, cmake, cargo), most of the work is in finding/adding the dependencies.
I did some Haskell programming ~6-7 years ago, so the learning curve for the Nix language was probably less steep.
The primary difficulty I found is that not everything is documented equally well and you often have to poke through nixpkgs to find examples and/or good practices.
also more difficult to have confidence that the software I write would work on other Linux distros
I guess I have been lucky that I write work-related code mostly in Go and Rust, so building on other systems is never really a problem. But for C/C++ projects I would just compile in an Ubuntu container as well.
- Ralith 8y ago> But for C/C++ projects I would just compile in an Ubuntu container as well. Setting up a reproducible build environment with nix-shell is much more convenient than screwing around with containers.
- danieldk 8y agoI meant to test outside NixOS. I already use default.nix + direnv for my C++ projects.