about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch')
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
new file mode 100644
index 000000000000..38805c645b95
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
@@ -0,0 +1,35 @@
+diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
+index b4b1f8fa..99d52cba 100755
+--- a/gnome-session/gnome-session.in
++++ b/gnome-session/gnome-session.in
+@@ -4,13 +4,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
+    [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
+    [  -n "$SHELL" ]; then
+   if [ "$1" != '-l' ]; then
+-    exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
++    # Make sure the shell actually sets up the environment.
++    unset __NIXOS_SET_ENVIRONMENT_DONE
++    exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'"
+   else
+     shift
+   fi
+ fi
+ 
+-SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
++SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region)
+ REGION=${SETTING#\'}
+ REGION=${REGION%\'}
+ 
+diff --git a/gnome-session/main.c b/gnome-session/main.c
+index a460a849..9d07898f 100644
+--- a/gnome-session/main.c
++++ b/gnome-session/main.c
+@@ -215,7 +215,7 @@ require_dbus_session (int      argc,
+         }
+         new_argv[i + 2] = NULL;
+         
+-        if (!execvp ("dbus-launch", new_argv)) {
++        if (!execvp ("@dbusLaunch@", new_argv)) {
+                 g_set_error (error, 
+                              G_SPAWN_ERROR,
+                              G_SPAWN_ERROR_FAILED,