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 only been using it for about a year, but as of now I can’t imagine ever going back to imperative system configuration. Having my infrastructure declared in its entirety by a version controlled code base is just too comfy.
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.
deleted by creator
I’ve been using NixOS for two years, and I’m not as hyped as I used to be. I’m a little nostalgic for my first days trying out Mint and Manjaro, and I’d like to try out Kinoite and maybe Guix on another drive, but I don’t think I could ever switch to using those permanently.
Setting dotfiles through home manager is nice, especially since they’re synced between my pc and laptop, and if I ever need to reinstall or set up a new device it’s all there. It doesn’t seem that cool after getting used to it, but just editing plain config files seems pretty messy and unorganized after using home manager. Flakes are pretty cool and being able to
nix run
any program without installing it is nice.My impermanence setup is a little annoying though, and since I use Syncthing to sync my KDE dotfiles between devices that can bug out sometimes, but it seems nicer and more organized than not having impermanence so I don’t think I could go back there either.
what keeps you using Nix or NixOS?
a sort of one-man network effect?
i wanted to load books onto my e-reader (runs NixOS) wirelessly: i already have a media server which i use for TV (Jellyfin). the e-reader speaks NFS, so i enabled NFS on my media server, added the auth to the e-reader’s Nix config, and since all my NixOS devices use the same repo for their config, my laptop and PC both get that NFS setup “for free”. incrementally, that makes everything else easier: i have a MAME arcade cabinet in the other room running Arch. if it had been running NixOS instead, suddenly that task of “load books onto my e-reader wirelessly” would have also solved the issue of “load games onto my MAME cabinet wirelessly”.
once you get going it’s just so easy to keep building incrementally. “tech debt” is a bit less of a thing than with other distros (still a thing, just smaller) because of determinism and
nix flake check
and so on. honestly once i care enough about not being able to load games onto that MAME cabinet easily, i’ll solve that by flashing it with Nix, and so grows my network effect.I’ve been using it for around 5 years on my desktop and VM servers. I have one template config for my servers and just add a new service for whatever I’m doing on that server. And their services list just keeps getting better.