23 gsettings-desktop-schemas,
40 withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
43 stdenv.mkDerivation (finalAttrs: {
44 pname = "gnome-settings-daemon";
48 url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major finalAttrs.version}/gnome-settings-daemon-${finalAttrs.version}.tar.xz";
49 hash = "sha256-8qrL5V+jjocIWD7sCmZRBJ5TfrUFo+0s4Lqk6bZCRtE=";
53 # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202
54 ./add-gnome-session-ctl-option.patch
57 src = ./fix-paths.patch;
79 gsettings-desktop-schemas
83 libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
98 ++ lib.optionals withSystemd [
104 "-Dudev_dir=${placeholder "out"}/lib/udev"
105 (lib.mesonBool "systemd" withSystemd)
107 ++ lib.optionals withSystemd [
108 "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl"
111 # Default for release buildtype but passed manually because
113 env.NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
116 for f in plugins/power/gsd-power-constants-update.pl; do
123 updateScript = gnome.updateScript {
124 packageName = "gnome-settings-daemon";
129 license = licenses.gpl2Plus;
130 maintainers = teams.gnome.members;
131 platforms = platforms.linux;