Merge pull request #243834 from LunNova/lunnova/i3-update-session-environment

This commit is contained in:
Franz Pletz 2023-11-30 20:42:13 +01:00 committed by GitHub
commit c4b7e013aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,10 @@ with lib;
let
cfg = config.services.xserver.windowManager.i3;
updateSessionEnvironmentScript = ''
systemctl --user import-environment PATH DISPLAY XAUTHORITY DESKTOP_SESSION XDG_CONFIG_DIRS XDG_DATA_DIRS XDG_RUNTIME_DIR XDG_SESSION_ID DBUS_SESSION_BUS_ADDRESS || true
dbus-update-activation-environment --systemd --all || true
'';
in
{
@ -19,6 +23,15 @@ in
'';
};
updateSessionEnvironment = mkOption {
default = true;
type = types.bool;
description = lib.mdDoc ''
Whether to run dbus-update-activation-environment and systemctl import-environment before session start.
Required for xdg portals to function properly.
'';
};
extraSessionCommands = mkOption {
default = "";
type = types.lines;
@ -51,6 +64,8 @@ in
start = ''
${cfg.extraSessionCommands}
${lib.optionalString cfg.updateSessionEnvironment updateSessionEnvironmentScript}
${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null)
"-c /etc/i3/config"
} &