NixOS plugin for GNOME Software

GNOME Software is a friendly way for desktop users to install software on your computer.

It can be useful if you want your desktop users to take back control over updating their hardware device’s firmware, or install Flatpak apps that might not be available from Nixpkgs yet. But clearly, its approach of installing software ad-hoc is against the Nix way of doing things from configuration source code (which I’m a big fan of).

Now, if I wanted my users to be able to discover which software is already installed, or whether there is a Nixpkg version of the Flatpak app they want to install, how would they do that? – They can’t.

GUI tools to manage Nix packages

I’ve seen two related discussions to fix this situation, Is anyone working on a GUI tool to manage packages? and SnowflakeOS - Creating a GUI focused NixOS-based distro, but I’d rather not build an entire tool, let alone a separate distro or community. Instead, I’d favour having a nicely integrated software index in a place that is a just logical for my users – the app store.

TL;DR – GNOME Software plugin

Has anyone ever built a plugin for GNOME Software that can let you browse through the available Nix packages, and display which ones are already installed? It might look much of what the “Nix Software Center” appears to look like, but wouldn’t necessarily allow to install software (because you do that “your own way” in your configuration source code.

Think of it as a GUI version of MyNixOS or search.NixOS.org, fully integrated in GNOME. Has anyone ever worked on something like that?

1 Like

It looks like there have been very specific efforts on this in the past, e.g.

Users @vlinkz and @davidak were very active here, apparently. Looks like the greatest challenge is getting AppStream Metadata to flow, then the plugin is almost for free. I also opened a related issue on the GNOME Software issue tracker to bring the discussion closer to the source code.

The Nix Software Center’s Run without installing :heart_eyes: might make for a great feature too, if that is possible to do in GNOME Software, to compensate uniquely for not allowing installation via the GUI. The reason why I stress this so much is that, personally, I have no NixOS config on the machines I manage; they all pull their configuration from a remote repository directly, e.g.

nixos-rebuild --sudo switch --flake gitlab:painless-software/nixos-config

I think this is important, because it makes a device truly disposable (provided your data backup + restore is automatic). No fiddling around with local, unversioned configuration changes. But also, no GUI solution that depends on changing your local /etc/nixos/configuration.nix. :person_shrugging:

I mean PackageKit for the Nix backend is borked right now iirc