5 ms·
I fell out of love with Nix (including flakes) just as fast as falling in love with it. The current approach for updating packages seems to have a massive human
by zamalek 5y ago
I fell out of love with Nix (including flakes) just as fast as falling in love with it. The current approach for updating packages seems to have a massive human scalability problem (3.3k open PRs [1]), and several packages are very out of date. I still use it on my work mac because nix-darwin does bring some semblance of sanity to the platform, but I've switched to Silverblue on my personal machines.
Nix feels more like an incredible research project to me. Guix is a good example of what happens when those great ideas are put through some refinement (but I can't use it on any of my machines).
Silverblue has convinced me that some unbundling is needed. The concept of an immutable base is extremely powerful, and there's good wisdom in their strong discouragement of using ostree to install regular apps. Being able to rebase onto Kinoite, and back, was an eye-opening experience for me.
In my opinion, an ideal tool would:
* Ignore system packages ("immutable-land") altogether. This makes system updates trivial.
* Use additional layers ("layer-land") only where absolutely required: drivers or /etc edits for example.
* Rely on flatpak as much as possible for "mutable-land", it could reach into flatpak sandboxes and blindly sync those dotfiles.
* For "mutable-land" outside of packages (DE stuff usually, like the wallpaper), it would have deep knowledge of those.
There is definitely benefit to being able to edit your dotfiles in one place (which we see with Nix), but the happy path should be 100% transparent to the user.
[1]: https://github.com/NixOS/nixpkgs/pulls https://github.com/NixOS/nixpkgs/pulls