From ba82dd7148e0decc2d972600cce35e2d2176a499 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 6 Oct 2023 18:07:17 +0800 Subject: [PATCH] gnome.gnome-flashback: Add mkGnomeSession Having this in environment.systemPackages shouldn't be worse than adding as XDG_DATA_DIRS in gnome-session. --- .../services/x11/desktop-managers/gnome.nix | 6 +++-- .../gnome/misc/gnome-flashback/default.nix | 25 ++++++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix index 2f9c75bbfb3e..8b5daf83de1d 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -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 { diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix index 8e769cc6a3af..c908dca0540b 100644 --- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix @@ -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 ]}' ''; };