lol

gnome.gnome-flashback: Add mkGnomeSession

Having this in environment.systemPackages shouldn't be worse than
adding as XDG_DATA_DIRS in gnome-session.

+17 -14
+4 -2
nixos/modules/services/x11/desktop-managers/gnome.nix
··· 294 294 map 295 295 (wm: 296 296 pkgs.gnome.gnome-flashback.mkSessionForWm { 297 - inherit (wm) wmName wmLabel wmCommand enableGnomePanel; 297 + inherit (wm) wmName wmLabel wmCommand; 298 298 } 299 299 ) flashbackWms; 300 300 ··· 313 313 }) 314 314 ] 315 315 # For /share/applications/${wmName}.desktop 316 - ++ (map (wm: gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }) flashbackWms); 316 + ++ (map (wm: gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }) flashbackWms) 317 + # For /share/gnome-session/sessions/gnome-flashback-${wmName}.session 318 + ++ (map (wm: gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }) flashbackWms); 317 319 }) 318 320 319 321 (mkIf serviceCfg.core-os-services.enable {
+13 -12
pkgs/desktops/gnome/misc/gnome-flashback/default.nix
··· 146 146 ''; 147 147 }; 148 148 149 - mkSessionForWm = { wmName, wmLabel, wmCommand, enableGnomePanel }: 149 + mkGnomeSession = { wmName, wmLabel, enableGnomePanel }: 150 + writeTextFile { 151 + name = "gnome-flashback-${wmName}-gnome-session"; 152 + destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session"; 153 + text = '' 154 + [GNOME Session] 155 + Name=GNOME Flashback (${wmLabel}) 156 + ${requiredComponents wmName enableGnomePanel} 157 + ''; 158 + }; 159 + 160 + mkSessionForWm = { wmName, wmLabel, wmCommand }: 150 161 let 151 - gnomeSession = writeTextFile { 152 - name = "gnome-flashback-${wmName}-gnome-session"; 153 - destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session"; 154 - text = '' 155 - [GNOME Session] 156 - Name=GNOME Flashback (${wmLabel}) 157 - ${requiredComponents wmName enableGnomePanel} 158 - ''; 159 - }; 160 - 161 162 executable = stdenv.mkDerivation { 162 163 name = "gnome-flashback-${wmName}"; 163 164 ··· 175 176 makeWrapper ${gnome-session}/bin/gnome-session $out \ 176 177 --add-flags "--session=gnome-flashback-${wmName} --builtin" \ 177 178 --set-default XDG_CURRENT_DESKTOP 'GNOME-Flashback:GNOME' \ 178 - --prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" [ gnomeSession gnome-flashback ]}' 179 + --prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" [ gnome-flashback ]}' 179 180 ''; 180 181 }; 181 182