Python2 is only needed for `libglade-convert`[1] which is a simple
script that converts old glade files into new glade files and for tests
and docs which we currently don't generate.
As Python2 is about to get EOLed and this is mostly a tool to migrate
old data, it shouldn't be built by default. With this change,
`xscreensaver` and `xsecurelock` don't depend on Python2 anymore.
[1] https://manpages.ubuntu.com/manpages/trusty/man1/libglade-convert.1.html
This introduces the following options under the services.gnome3 namespace:
* core-os-services.enable
* core-shell.enable
* core-utilities.enable
* games.enable
The first three are all default enabled by gnome3.enable
and their purpose is to make gnome3 more flexable for users
usecases. In the case of core-utilities and games, it allows
users to easily switch on the default gnome3 applications
and games packages. Previously we had lists in gnome-3/default.nix
but they weren't visible to the user. By having options we have
generated documentation and an interface.
Opening a background change dialogue produces the following errors in the console:
(gnome-control-center:27270): Grilo-WARNING **: 21:57:21.349: [registry] ../src/grl-registry.c:1354: Could not open directory '/nix/store/q8wdbr08617p3xqxdg8935p31fha020f-grilo-0.3.9/lib/grilo-0.3': Error opening directory “/nix/store/q8wdbr08617p3xqxdg8935p31fha020f-grilo-0.3.9/lib/grilo-0.3”: No such file or directory
(gnome-control-center:27270): Grilo-WARNING **: 21:57:21.352: [registry] ../src/grl-registry.c:1461: Plugin 'grl-flickr' not available
(gnome-control-center:27270): background-cc-panel-WARNING **: 21:57:21.352: Plugin “grl-flickr” not available
Apparently, there are no plugins in `grilo` package – everything is in `grilo-plugins`, so we need to add `grilo-plugins` to inputs. The setup hook will make the plug-ins available through an environment variable:
https://gitlab.gnome.org/GNOME/grilo/blob/grilo-0.3.9/src/grilo.c#L111-135
LXQt uses the values in this macro to set installation
directories and in the case of lxqt-session to substitute in paths.
However, by doing this all the paths are from within lxqt-build-tools
prefix. By utilizing a setup hook we can set the directories with the
correct prefix as cmake flags.
By wraping the files, the `*-.wrapped` file will be recognized as the
entry point, which is used as a base for loading additional files so
we need to override the entry point function.
We also ensure BackgroundService gets wrapped with wrapGAppsHook.
Fixes#31168
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>