this post was submitted on 23 Nov 2023
12 points (92.9% liked)
nixos
1269 readers
1 users here now
All about NixOS - https://nixos.org/
founded 4 years ago
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.