Who are you people?
For the most part I do “creative coding”, e.g. artworks and installations for museums, galleries, live performance, etc. I also do a lot of sound design and music production.
I use NixOS for its up-to-date-ness, easy rollbacks, reproducibility, flexibility and declarative nature (no “steps” to remember other than nixos-rebuild switch
). It makes setting up machines for installations, sharing configuration and remote deployment/management so easy without needing layers of indirection like VMs or containers. It also means that once my pro-audio environment is working nicely (a miracle on Linux), it just continues to work even when moving to different machines because everything about my setup is declared in the configuration files.
Haskell programmers, mostly?
Nay, but Rust programmer yes.
I do agree that it’s seemingly complex at first - I think I’d attribute this to two things:
- unfamiliarity: I think it’s necessarily different to what we’re used to make great leaps in progress. The design rethinks so much about what it means to be a distro or package manager and avoids so many common problems as a result.
- I think Nix is still finding its feet, e.g.
nix-env
still being recommended in the docs (if it were up to me I think I’d remove the command altogether), flakes still in the works, nothing along the lines ofhome-manager
being “blessed” yet, etc.
Still, these seem like solvable issues, and I’m yet to come across a distro as promising as NixOS. I’m curious about Guix, but mostly because in my mind it looks like NixOS with a lisp and I’ve been curious about learning lisp.