summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gdm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 6c810eb46342..f6049c8bda8c 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -37,13 +37,27 @@ stdenv.mkDerivation rec {
 
   # Disable Access Control because our X does not support FamilyServerInterpreted yet
   patches = [
+    # Change hardcoded paths to nix store paths.
     (substituteAll {
       src = ./fix-paths.patch;
       inherit coreutils plymouth xwayland;
     })
+
+    # The following patches implement certain environment variables in GDM which are set by
+    # the gdm configuration module (nixos/modules/services/x11/display-managers/gdm.nix).
+
+    # Look for session definition files in the directory specified by GDM_SESSIONS_DIR.
     ./sessions_dir.patch
+
+    # Allow specifying X server arguments with GDM_X_SERVER_EXTRA_ARGS.
     ./gdm-x-session_extra_args.patch
-    ./gdm-session-worker_xserver-path.patch
+
+    # Allow specifying a wrapper for running the session command.
+    ./gdm-x-session_session-wrapper.patch
+
+    # Forwards certain environment variables to the gdm-x-session child process
+    # to ensure that the above two patches actually work.
+    ./gdm-session-worker_forward-vars.patch
   ];
 
   installFlags = [