From 2b2b69cc17df9ea22c9e9c36b2655c854068855c Mon Sep 17 00:00:00 2001 From: winston Date: Mon, 25 May 2026 12:30:39 +0200 Subject: [PATCH] nixos/gdm: ensure environment from display-manager.service is propagated --- nixos/modules/services/display-managers/gdm.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nixos/modules/services/display-managers/gdm.nix b/nixos/modules/services/display-managers/gdm.nix index dd043cbf272a..b10c60436919 100644 --- a/nixos/modules/services/display-managers/gdm.nix +++ b/nixos/modules/services/display-managers/gdm.nix @@ -455,6 +455,22 @@ in settings.conffile = "/etc/pam/environment"; settings.readenv = 0; } + # make sure the spawned session has the same variables as `display-manager.service` + # https://github.com/NixOS/nixpkgs/issues/523332 + { + name = "env-greeter"; + control = "required"; + modulePath = "${config.security.pam.package}/lib/security/pam_env.so"; + settings.conffile = + let + env = config.services.displayManager.generic.environment; + in + pkgs.writeText "gdm-launch-environment-env-conf" '' + PATH DEFAULT="''${PATH}:${pkgs.gnome-session}/bin" + XDG_DATA_DIRS DEFAULT="''${XDG_DATA_DIRS}:${env.XDG_DATA_DIRS}" + ''; + settings.readenv = 0; + } { name = "systemd"; control = "optional";