Hey all, thought this might be of interest to some here.
Wrote about why I moved from NixOS to Ubuntu after using it for several months on my daily driver. Suspect that this take is likely to be kind of controversial and court claims of skill issues, which might even be true.
Let me know what you think.
Didn’t really look into NixOS so only learned that it is an immutable OS after reading your article.
I once tried Fedora Sericea. Ended up having many Toolboxes (like Distrobox) with libraries and tools for development, but only a couple of Flatpaks.
I think the ideal user for immutable OS will be someone who want to use computer like a smartphone, just install apps (as Flatpaks) and let the OS do its update things.
NixOS is a reproducible OS. I wouldn’t call it immutable.
It’s not really fully reproducible either.
Isn’t it fully reproducible with flakes?
Nope, nix doesn’t ensure or require that the builds are deterministic. It’s not any better in that regard than other package managers.
Pin package version and --pure?
That should already allow it to be ahead of other PMs.
A package is reproducible if you use the same inputs, run the build, and get the same outputs.
The issue is that the build can produce different outputs given the same inputs. So you need to modify the build or patch the outputs. This is something that is being worked on by most distributions: https://reproducible-builds.org/who/projects/
NixOS is not special in that regard nor are all NixOS packages reproducible.
Nixos is immutable to force system configuration through the declarative nix configs/build system not to limit tinkering.