about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/desktops/xfce4-13/default.nix5
-rw-r--r--pkgs/desktops/xfce4-13/xfce4-session/default.nix27
2 files changed, 31 insertions, 1 deletions
diff --git a/pkgs/desktops/xfce4-13/default.nix b/pkgs/desktops/xfce4-13/default.nix
index 0ce8450724ee..13c1cb3ca695 100644
--- a/pkgs/desktops/xfce4-13/default.nix
+++ b/pkgs/desktops/xfce4-13/default.nix
@@ -74,10 +74,13 @@ makeScope newScope (self: with self; {
     inherit (gnome3) libsoup;
   };
 
-  xfce4-taskmanager = callPackage ./xfce4-taskmanager { };
+  xfce4-session = callPackage ./xfce4-session { };
+  xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
 
   xfce4-settings = callPackage ./xfce4-settings { };
 
+  xfce4-taskmanager = callPackage ./xfce4-taskmanager { };
+
   xfce4-terminal = callPackage ./xfce4-terminal {
     inherit (gnome3) vte;
   };
diff --git a/pkgs/desktops/xfce4-13/xfce4-session/default.nix b/pkgs/desktops/xfce4-13/xfce4-session/default.nix
new file mode 100644
index 000000000000..ecf1f6ac505e
--- /dev/null
+++ b/pkgs/desktops/xfce4-13/xfce4-session/default.nix
@@ -0,0 +1,27 @@
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, dbus-glib, dbus, iceauth, gtk3, libwnck3, xorg }:
+
+mkXfceDerivation rec {
+  category = "xfce";
+  pname = "xfce4-session";
+  version = "4.13.0";
+
+  sha256 = "0d6h1kgqq6g084jrxx4jxw98h5g0vwsxqrvk0bmapyxh2sbrg07y";
+
+  buildInputs = [ exo dbus-glib dbus gtk3 libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ];
+
+  configureFlags = [ "--with-xsession-prefix=$(out)" ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${dbus-glib.dev}/include/dbus-1.0"
+                         "-I${dbus.dev}/include/dbus-1.0"
+                         "-I${dbus.lib}/lib/dbus-1.0/include"
+                       ];
+
+  postPatch = ''
+    substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
+    substituteInPlace scripts/xflock4 --replace PATH=/bin:/usr/bin "PATH=\$PATH:$out/bin:${xorg.xset}/bin"
+  '';
+
+  meta =  {
+    description = "Session manager for Xfce";
+  };
+}