NixOS is making me less afraid

39 points by LolPython


nemin

Even if you don't go all-in, Nix is excellent when you download stuff from forges, that need pulling in a lot of random dependencies, which it lets you do without polluting your main environment.

That being said, I somehow always keep bouncing off the distro itself. I can't even properly put a finger on it why, it's not lack of use, I've gave it reasonably long periods, but eventually I always go back to the non-declarative distro + Nix as a guest combination. Maybe it's the fact that it's so declarative itself, I like mucking with stuff, even if on the long term it'll lead to tech debt and problems down the line.

msangi

NixOS is also making me less afraid to try out new things. Knowing that I can get back to the previous system with a git revert and a rebuild (or by picking an older version from the boot menu in case the system is really broken) is very empowering.

toastal

I’ve built these before. It’s satisfying putting (once getting a review, the hard part) to get a module merged in that can abstract away so many of the details from the user for the happy path case—all while still easily exposing all of the bits to be referenced thru the fixed point in other modules or just tweaking the general graph. One of mine set up migrations, set up the DB, set up users, sets up PHP units with sensible resource limits, optimized/precompressed assets + sets CSP for a reverse proxy in Nginx or H2O, & exposes the composer script in a little wrapper.

I have in my own setup for instance a systemd job that manually restarts 2 services once ACME certs are refreshed, I have modified the systemd units to get them to start at the correct times while not touching the other underlying code, & the modules usually expose a package that the user can make final package modifications at the end. The module system isn’t perfect, but it’s been a lot easier to keep my system wrangled & composed with NixOS.

nelson

I'm getting a lot of mileage converting all my little VMs and containers over to NixOS. Entirely using AI, Claude Code is remarkably good at creating Nix flakes. The declarative OS is a good match for LLM generation of system specs. No side effects of commands to track, everything testable and reproducible by the agent. And NixOS itself works quite well. Most of the packages I need are there and if something's missing Claude doesn't seem to have any problem making it itself.