nixpkgs/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

71 lines
1.2 KiB
Nix
Raw Normal View History

2019-01-25 16:43:36 +00:00
# GNOME Settings Daemon
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.gnome.gnome-settings-daemon;
2019-01-25 16:43:36 +00:00
in
{
meta = {
maintainers = teams.gnome.members;
};
imports = [
(mkRemovedOptionModule
["services" "gnome3" "gnome-settings-daemon" "package"]
"")
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-settings-daemon" "enable" ]
[ "services" "gnome" "gnome-settings-daemon" "enable" ]
)
];
2019-01-25 16:43:36 +00:00
###### interface
options = {
services.gnome.gnome-settings-daemon = {
2019-01-25 16:43:36 +00:00
enable = mkEnableOption "GNOME Settings Daemon";
2019-01-25 16:43:36 +00:00
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.gnome.gnome-settings-daemon
];
2019-01-25 16:43:36 +00:00
services.udev.packages = [
pkgs.gnome.gnome-settings-daemon
];
2019-01-25 16:43:36 +00:00
systemd.packages = [
pkgs.gnome.gnome-settings-daemon
];
nixos/gnome-settings-daemon: pick up correct .wants directories In https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/153 the user target names for GSD components has been renamed for example from `gsd-a11y-settings.target` to `org.gnome.SettingsDaemon.A11ySettings.target`, and nowadays `gsd-*.target` are just symbolic links of `/dev/null` and will be removed in the future. At the same time, as mentioned in d27212d466d0e79c3d9781b60aa3374d234370c0, we are adding `systemd.user.targets.<name>.wants` stuff here only because systemd.packages doesn't pick the .wants directories. Nowadays those GSD components are managed in `/etc/systemd/user/gnome-session@gnome.target.d/gnome.session.conf` so it should be safe to remove them. In this commit we also try to pick up those new .wants directories, see also https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/blob/41.0/plugins/meson.build#L57 Result of `cd /nix/store/iqzy2a6wn9bq9hqx7pqx0a153s5xlnwp-gnome-settings-daemon-41.0; find | grep wants`: ``` ./share/systemd/user/gnome-session-x11-services-ready.target.wants ./share/systemd/user/gnome-session-x11-services-ready.target.wants/org.gnome.SettingsDaemon.XSettings.service ./share/systemd/user/gnome-session-x11-services.target.wants ./share/systemd/user/gnome-session-x11-services.target.wants/org.gnome.SettingsDaemon.XSettings.service ``` Result of `cd /nix/store/armzljlnsvc1gn0nq0bncb9lf8fy32zy-gnome-settings-daemon-3.34.0; find | grep wants`: ``` ./lib/systemd/user/gnome-session-initialized.target.wants ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-a11y-settings.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-color.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-datetime.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-power.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-housekeeping.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-keyboard.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-media-keys.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-screensaver-proxy.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-sharing.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-sound.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-smartcard.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-wacom.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-print-notifications.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-rfkill.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-wwan.target ./lib/systemd/user/gnome-session-x11-services.target.wants ./lib/systemd/user/gnome-session-x11-services.target.wants/gsd-xsettings.target ```
2022-01-07 12:32:27 +00:00
systemd.user.targets."gnome-session-x11-services".wants = [
"org.gnome.SettingsDaemon.XSettings.service"
];
nixos/gnome-settings-daemon: pick up correct .wants directories In https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/153 the user target names for GSD components has been renamed for example from `gsd-a11y-settings.target` to `org.gnome.SettingsDaemon.A11ySettings.target`, and nowadays `gsd-*.target` are just symbolic links of `/dev/null` and will be removed in the future. At the same time, as mentioned in d27212d466d0e79c3d9781b60aa3374d234370c0, we are adding `systemd.user.targets.<name>.wants` stuff here only because systemd.packages doesn't pick the .wants directories. Nowadays those GSD components are managed in `/etc/systemd/user/gnome-session@gnome.target.d/gnome.session.conf` so it should be safe to remove them. In this commit we also try to pick up those new .wants directories, see also https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/blob/41.0/plugins/meson.build#L57 Result of `cd /nix/store/iqzy2a6wn9bq9hqx7pqx0a153s5xlnwp-gnome-settings-daemon-41.0; find | grep wants`: ``` ./share/systemd/user/gnome-session-x11-services-ready.target.wants ./share/systemd/user/gnome-session-x11-services-ready.target.wants/org.gnome.SettingsDaemon.XSettings.service ./share/systemd/user/gnome-session-x11-services.target.wants ./share/systemd/user/gnome-session-x11-services.target.wants/org.gnome.SettingsDaemon.XSettings.service ``` Result of `cd /nix/store/armzljlnsvc1gn0nq0bncb9lf8fy32zy-gnome-settings-daemon-3.34.0; find | grep wants`: ``` ./lib/systemd/user/gnome-session-initialized.target.wants ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-a11y-settings.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-color.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-datetime.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-power.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-housekeeping.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-keyboard.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-media-keys.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-screensaver-proxy.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-sharing.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-sound.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-smartcard.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-wacom.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-print-notifications.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-rfkill.target ./lib/systemd/user/gnome-session-initialized.target.wants/gsd-wwan.target ./lib/systemd/user/gnome-session-x11-services.target.wants ./lib/systemd/user/gnome-session-x11-services.target.wants/gsd-xsettings.target ```
2022-01-07 12:32:27 +00:00
systemd.user.targets."gnome-session-x11-services-ready".wants = [
"org.gnome.SettingsDaemon.XSettings.service"
];
2019-01-25 16:43:36 +00:00
};
}