I’ve been using Nix and NixOS for 4 years now. While I like using it for my PCs and tried using it for servers with success, I think its ecosystem still is immature for development and production purposes, and thus my passion for Nix has faded.
So my question is what keeps you using Nix or NixOS? How have you been using it? Do you still feel passion and hype for it?
I’ve been using Nix for 8 years and can’t imagine using anything else. Especially on severs it is in a completely different league than the next best thing (which I guess is a myriad of docker containers?) I’ve also been using it on desktop for nearly that long and it is also pretty great. It maybe isn’t quite as polished as some other distributions like Fedora or Ubuntu but I haven’t had a major issue. Plus being able to set up a new system and being 95% of the way to my full customized experience is incredibly. Especially nice because I have a desktop and laptop so keeping their configs in sync is great.
For development I have found it is pretty nice. I mostly use
nix-shell
to make dependencies available. There is the occasional thing that doesn’t work because they want to download prebuilt binaries over the internet, but honestly I mostly consider that a feature that these don’t work by default. Plus if you need to get these working you can just usesteam-run
and it works correctly 99% of the time.I have only been on nixos a few weeks. Absolutely loving it. I keep seeing people talking about this needing to use steam-run for binaries. I don’t understand what this means at all tbh. I’m a newbie web Dev so everything I’ve made so far has just been running in Firefox and node. Will I ever have to worry about this? Or is this just a issue for making software outside of the browser?
You don’t need it often. Just if you are running pre-built binaries. There are other ways to work around it but steam-run is a big hammer that basically sets up an environment that looks like a “regular” distro with a bunch of command libraries available for running that command.
One example I had in web-dev was Prisma which wants to download some pre-built binaries when installed via npm. These are available in nixpkgs (and I am now using these) but the first way to get it working was just to run it via steam-run.
Interesting. I think I understand. Would using distrobox with Arch or Ubuntu be another way to make a environment that would work?
I don’t know much about distrobox but probably. It seems like distrobox would be a bit more isolated from the host system. (Which can be both a prod or a con depending on your use case.) steam-run will also reuse the host libraries rather than downloading a new copy so it will be more efficient.