summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gdm
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm')
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/fix-paths.patch11
2 files changed, 13 insertions, 2 deletions
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 88fed09de382..247d3566d6f3 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg, dbus
 , intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
 , gtk, libcanberra-gtk3, pam, libtool, gobjectIntrospection, plymouth
-, librsvg, coreutils }:
+, librsvg, coreutils, xwayland }:
 
 stdenv.mkDerivation rec {
   name = "gdm-${version}";
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
-      inherit coreutils plymouth;
+      inherit coreutils plymouth xwayland;
     })
     ./sessions_dir.patch
     ./gdm-x-session_extra_args.patch
diff --git a/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch b/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch
index d10283d40eae..adac2dc913cc 100644
--- a/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch
@@ -1,3 +1,14 @@
+--- a/daemon/gdm-local-display-factory.c
++++ b/daemon/gdm-local-display-factory.c
+@@ -450,7 +450,7 @@
+ #ifdef ENABLE_WAYLAND_SUPPORT
+                         gboolean wayland_enabled = FALSE;
+                         if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) {
+-                                if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) {
++                                if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) {
+                                         session_type = "wayland";
+                                 }
+                         }
 --- a/daemon/gdm-manager.c
 +++ b/daemon/gdm-manager.c
 @@ -147,7 +147,7 @@