summary refs log tree commit diff
path: root/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch
blob: 38805c645b95f838f738f792e01e94ab5f35b92b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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,