I did a more rambly version of this post in Reddit but I wanted to hear from the folks here!
I think NixOS is the best linux backend ever designed, immutability and declarativeness are things any user could benefit from, and it shows in nixpkgs’ massive package availability. But it lacks an intuitive way to install software.
Many GUI package manager attempts have failed and I’d argue they always will as long as there is no standard way to structure a nix config, as they dumb things down or impose a certain structure
(nixui, nix-gui, nix42b, nix-software-center…)
GLF OS sidesteps this by relying on Flatpak, which works well for GUI apps and is already widely supported. But Flatpak can’t manage CLI tools, so it can’t replace Nix.
Since neither Nix nor Flatpak are going away, the most promising path, I’d argue, is to bridge them: making nixpkgs GUI apps buildable as Flatpaks via Nix derivations. That could allow nixpkgs (or part of it) to effectively act as a Flatpak repository, and make anyone packaging for flatpak benefit from nix reproducibility and vice-versa.
I experimented with this idea on a private repo, as there isn’t any nix-to-flatpak tooling around, but Flatpak’s runtime model doesn’t map cleanly to Nix, if I gave the flatpaks access to /nix/store I could run some apps even sandboxed but others (especially Electron/Tauri) would refuse as long as I didn’t compleatly unsandbox them. I think this would require work on flatpak and nixpkgs side.
For now this is a thought experiment, but I’m curious to hear whether this hybrid approach is the right direction for NixOS friendly GUI app management even from folks that know better flatpaks inner workings if this would be even feasable!