nixos/gdm: ensure environment from display-manager.service is propagated

(cherry picked from commit 2b2b69cc17)
This commit is contained in:
winston 2026-05-25 12:30:39 +02:00 committed by github-actions[bot]
commit ba247e293c

View file

@ -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";