about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2020-01-22 23:44:50 -0500
committerworldofpeace <worldofpeace@protonmail.ch>2020-01-24 10:47:55 -0500
commit966e56cdfbedc8be3dce8c5ea6050ce4d3075103 (patch)
treef2b726f1288cd8d6f5a56e548850acb473408a54 /pkgs/desktops
parenta149202c5ac2f9e5b5eb90316746857e019879bd (diff)
downloadnixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.tar
nixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.tar.gz
nixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.tar.bz2
nixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.tar.lz
nixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.tar.xz
nixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.tar.zst
nixlib-966e56cdfbedc8be3dce8c5ea6050ce4d3075103.zip
nixos/xfce: use sessionPackages
Diffstat (limited to 'pkgs/desktops')
-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 0ab362aa21d0..f97c07156c58 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";
   };
 }