diff options
author | Tor Hedin Brønner <torhedinbronner@gmail.com> | 2019-10-06 07:08:11 +0200 |
---|---|---|
committer | Tor Hedin Brønner <torhedinbronner@gmail.com> | 2019-10-06 07:35:36 +0200 |
commit | a43660271b658ad067906c10f01473cf88871c2e (patch) | |
tree | abcddaf22b8bba7bc1d4073d15a6726cdfbe554f /pkgs/desktops/gnome-3/core | |
parent | ee06d27cf23aa59fec01d47e3cfea12ae3c9f7c7 (diff) | |
download | nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.tar nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.tar.gz nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.tar.bz2 nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.tar.lz nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.tar.xz nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.tar.zst nixpkgs-a43660271b658ad067906c10f01473cf88871c2e.zip |
gnome3.gnome-session: always run /etc/set-environment on startup
gnomes-session sources its environment from a login shell. But if the systemd user environment already contains `__NIXOS_SET_ENVIRONMENT_DONE` the environment setup won't happen correctly. Simply unset this variable to ensure a fresh environment. This was previously handled by a GDM patch, but it no longer works reliably with gnome-sessions systemd session. We still need the GDM patch to handle running other sessions (eg. plasma). See https://github.com/NixOS/nixpkgs/issues/48255 for more info on the underlying issue.
Diffstat (limited to 'pkgs/desktops/gnome-3/core')
-rw-r--r-- | pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch index fe4feaf7085..2399c656016 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch +++ b/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch @@ -1,6 +1,6 @@ --- a/gnome-session/gnome-session.in +++ b/gnome-session/gnome-session.in -@@ -3,11 +3,11 @@ +@@ -3,11 +3,13 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && [ -n "$SHELL" ] && @@ -12,6 +12,8 @@ + ! (echo "$SHELL" | @grep@ -q "nologin"); 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 |