This will make Nix much more accessible to a wider audience.
Also filed there: https://bugs.freedesktop.org/show_bug.cgi?id=76810
I had thought about this a bit, months ago. I'm afraid that many features of nix won't be accessible through the API, but still, it could provide a nice GUI for basic work without too much work on our side. EDIT: hmm, estimate of _a few man-months of coding_ is a little higher than I expected.
There is lots of things a backend has to do to service a high-level client like gnome-software; it's not a trivial amount of work.
With a thousand mans, that'll only be a few hours!
This would be really cool, especially for nixos. It would be awesome to integrate with gnome-software's offline update. I don't know how well nix could fit in but it would be awesome if the updates could be completely built then it would just be a trivial switch to activate the new configuration on reboot.
it would be awesome if the updates could be completely built then it would just be a trivial switch to activate the new configuration on reboot.
That's done by nixos-rebuild boot.
Yeah, I get that it is possible but getting it integrated with packagekit would provide an awesome user experience. This way everything could get updated in the background, then when it is all done you get a notification "Updates ready" and you can either reboot now, or the next time you shutdown/reboot you just check the checkbox "Install updates". This means no waiting or thinking which is exactly what I want from my updates. And of course if something fails, you can just roll back.
See system.autoUpgrade.enable and related nixos settings.
Bumped into this just now, GNOME GUI printer configuration apparently depends on PackageKit: https://github.com/NixOS/nixpkgs/issues/12058.
Do you know how it depends on it? I assumed that it detected missing SW so tried to run some packagekit dialog to install it.
@vcunat: I don't know what features depend on it, I just saw it print a warning The name org.freedesktop.PackageKit was not provided by any .service files. Hopefully it's an optional dependency. I guess the real blocker for the GNOME printer GUI is the missing org.fedoraproject.Config.Printing service.
This is a very interesting idea, and it also opens the door for PackageKit to support Guix as well.
I've started working on a branch that's still a work-in-progress. But I've come up with a few issues with the implementation:
It's certainly not very difficult if we choose to just implement the bare minimum vfuncs. This will probably only work with the "pkcon" client at first.
Right now I'm going to just try to support "Nix" and ignore things like "upgrade system" or "repair system" that only make sense in the context of NixOS. Other things like "update packages" and "get repo list" I'm going to wait until nix-channel is rewritten in C++. Also things like "depends on" and "required by" don't really make sense in the context of Nix although I suppose they wouldn't be hard to implement.
@matthewbauer:
lib.isDerivation, though later we might devise a meta flag to hide stuff.I've got an open pull request on the PackageKit repository if anyone wants to review it. I'm wanting to get at least PackageKit and Gnome Software support fully working in time for NixOS release 16.09.
hughsie/PackageKit#126
Doesn't work in 18.03. fails with Failed to load the backend: opening module nix failed : /nix/store/qjdawq325swj6b77vz3l3bzqsvrcwdav-packagekit-1.1.8/lib/packagekit-backend/libpk_backend_nix.so: cannot open shared object file: No such file or directory
@balsoft it is currently disabled since it does not compile, see https://github.com/NixOS/nixpkgs/issues/21230
Closing on account of age.
This is still an important feature to have for a user friendly GUI for Nix!
It's important but is also best implemented as a separate project. Nix itself should provide the primitives that are needed by the GUI process.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/is-anyone-working-on-a-gui-tool-to-manage-packages/5540/4
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/app-store-streaming-apps/7196/1
Most helpful comment
This is still an important feature to have for a user friendly GUI for Nix!