···2323, upower
2424, pam
2525, wrapGAppsHook
2626-, makeWrapper
2726, writeTextFile
2827, xkeyboard_config
2928, xorg
···158157 };
159158160159 mkSessionForWm = { wmName, wmLabel, wmCommand }:
161161- let
162162- executable = stdenv.mkDerivation {
163163- name = "gnome-flashback-${wmName}";
164164-165165- nativeBuildInputs = [ makeWrapper ];
166166-167167- dontUnpack = true;
168168- dontConfigure = true;
169169- dontBuild = true;
170170- dontInstall = true;
171171-172172- # gnome-flashback and gnome-panel need to be added to XDG_DATA_DIRS so that their .desktop files can be found by gnome-session.
173173- # We need to pass the --builtin flag so that gnome-session invokes gnome-session-binary instead of systemd.
174174- # If systemd is used, it doesn't use the environment we set up here and so it can't find the .desktop files.
175175- preFixup = ''
176176- makeWrapper ${gnome-session}/bin/gnome-session $out \
177177- --add-flags "--session=gnome-flashback-${wmName} --builtin" \
178178- --set-default XDG_CURRENT_DESKTOP 'GNOME-Flashback:GNOME' \
179179- --prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" [ gnome-flashback ]}'
180180- '';
181181- };
182182-183183- in
184160 writeTextFile
185161 {
186162 name = "gnome-flashback-${wmName}-xsession";
···189165 [Desktop Entry]
190166 Name=GNOME Flashback (${wmLabel})
191167 Comment=This session logs you into GNOME Flashback with ${wmLabel}
192192- Exec=${executable}
168168+ Exec=${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName}
193169 TryExec=${wmCommand}
194170 Type=Application
195171 DesktopNames=GNOME-Flashback;GNOME;