systemd has a mechanism for setting environment variables for user processes. Primarily this is for user units, but it is in practice also used for graphical sessions, as gdm also respects these. As such, it is probably something we should support. Some details about this mechanism here: https://www.freedesktop.org/software/systemd/man/environment.d.html Where gdm got support for it: https://gitlab.gnome.org/GNOME/gdm/-/commit/448134d3cdbc54e5359ea33d387993b0defdaefa