gnome.gnome-flashback: Add mkGnomeSession

Having this in environment.systemPackages shouldn't be worse than
adding as XDG_DATA_DIRS in gnome-session.
This commit is contained in:
Bobby Rong
2023-10-06 18:27:49 +08:00
parent 21f5cd377a
commit ba82dd7148
2 changed files with 17 additions and 14 deletions
@@ -294,7 +294,7 @@ in
map
(wm:
pkgs.gnome.gnome-flashback.mkSessionForWm {
inherit (wm) wmName wmLabel wmCommand enableGnomePanel;
inherit (wm) wmName wmLabel wmCommand;
}
) flashbackWms;
@@ -313,7 +313,9 @@ in
})
]
# For /share/applications/${wmName}.desktop
++ (map (wm: gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }) flashbackWms);
++ (map (wm: gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }) flashbackWms)
# For /share/gnome-session/sessions/gnome-flashback-${wmName}.session
++ (map (wm: gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }) flashbackWms);
})
(mkIf serviceCfg.core-os-services.enable {
@@ -146,18 +146,19 @@ let
'';
};
mkSessionForWm = { wmName, wmLabel, wmCommand, enableGnomePanel }:
let
gnomeSession = writeTextFile {
name = "gnome-flashback-${wmName}-gnome-session";
destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
text = ''
[GNOME Session]
Name=GNOME Flashback (${wmLabel})
${requiredComponents wmName enableGnomePanel}
'';
};
mkGnomeSession = { wmName, wmLabel, enableGnomePanel }:
writeTextFile {
name = "gnome-flashback-${wmName}-gnome-session";
destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
text = ''
[GNOME Session]
Name=GNOME Flashback (${wmLabel})
${requiredComponents wmName enableGnomePanel}
'';
};
mkSessionForWm = { wmName, wmLabel, wmCommand }:
let
executable = stdenv.mkDerivation {
name = "gnome-flashback-${wmName}";
@@ -175,7 +176,7 @@ let
makeWrapper ${gnome-session}/bin/gnome-session $out \
--add-flags "--session=gnome-flashback-${wmName} --builtin" \
--set-default XDG_CURRENT_DESKTOP 'GNOME-Flashback:GNOME' \
--prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" [ gnomeSession gnome-flashback ]}'
--prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" [ gnome-flashback ]}'
'';
};