diff options
-rw-r--r-- | nixos/modules/services/x11/desktop-managers/xfce.nix | 11 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-session/default.nix | 22 |
2 files changed, 11 insertions, 22 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 21f59074f3ae..a08b1947f65b 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -127,9 +127,14 @@ in "/share/gtksourceview-4.0" ]; - services.xserver.displayManager.sessionPackages = [ - pkgs.xfce.xfce4-session - ]; + services.xserver.desktopManager.session = [{ + name = "xfce"; + bgSupport = true; + start = '' + ${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} & + waitPID=$! + ''; + }]; services.xserver.updateDbusEnvironment = true; services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix index f97c07156c58..0ab362aa21d0 100644 --- a/pkgs/desktops/xfce/core/xfce4-session/default.nix +++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix @@ -1,4 +1,4 @@ -{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session, runtimeShell }: +{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }: mkXfceDerivation { category = "xfce"; @@ -14,25 +14,9 @@ mkXfceDerivation { # See https://github.com/NixOS/nixpkgs/issues/36468 NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; - # Don't use startxfce4 in xfce.desktop - # It's has FHS isms - postFixup = '' - chmod +x $out/etc/xdg/xfce4/xinitrc - patchShebangs $out/etc/xdg/xfce4/xinitrc + passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; - substituteInPlace "$out/share/xsessions/xfce.desktop" \ - --replace "Exec=startxfce4" "Exec=$out/etc/xdg/xfce4/xinitrc" - ''; - - passthru = { - xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; - - providedSessions = [ - "xfce" - ]; - }; - - meta = { + meta = { description = "Session manager for Xfce"; }; } |