about summary refs log tree commit diff
path: root/pkgs/desktops/xfce/core/xfce4-session/default.nix
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-01-28 10:46:13 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2020-01-28 10:46:13 +0100
commitdce0ca29d91e71e357f591b1c19ef4e1094785d6 (patch)
tree0bfdca07fce6135d13e60a99110043f0730f8e9c /pkgs/desktops/xfce/core/xfce4-session/default.nix
parent778f317820532a09cfe43287516d3be9ce62925b (diff)
parente328078fe0867c432be6f14bc200f9932617783e (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs/desktops/xfce/core/xfce4-session/default.nix')
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix22
1 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 0ab362aa21d07..f97c07156c583 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 }:
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session, runtimeShell }:
 
 mkXfceDerivation {
   category = "xfce";
@@ -14,9 +14,25 @@ mkXfceDerivation {
   # See https://github.com/NixOS/nixpkgs/issues/36468
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
-  passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
+  # 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
 
-  meta =  {
+    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 = {
     description = "Session manager for Xfce";
   };
 }