Set IMALISON_SESSION_TYPE env var for reliable X11/Wayland detection
systemd user environment persists across login sessions, so XDG_SESSION_TYPE can be stale. Proactively set a custom variable on each session start so ConditionEnvironment checks are reliable. Use it for xsettingsd and random-background (X11-only services). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,9 @@
|
||||
enable = true;
|
||||
preferStatusNotifierItems = true;
|
||||
importedVariables = [ "GDK_PIXBUF_ICON_LOADER" ];
|
||||
profileExtra = ''
|
||||
systemctl --user set-environment IMALISON_SESSION_TYPE=x11
|
||||
'';
|
||||
};
|
||||
|
||||
home.keyboard = null;
|
||||
|
||||
@@ -45,9 +45,10 @@ makeEnable config "myModules.xmonad" true {
|
||||
imageDirectory = "/var/lib/syncthing/sync/Wallpaper";
|
||||
};
|
||||
# This service uses feh (X11), so don't run it in Wayland sessions.
|
||||
systemd.user.services.random-background.Unit.ConditionEnvironment = "XDG_SESSION_TYPE=x11";
|
||||
systemd.user.services.random-background.Unit.ConditionEnvironment = "IMALISON_SESSION_TYPE=x11";
|
||||
|
||||
services.xsettingsd.enable = true;
|
||||
systemd.user.services.xsettingsd.Unit.ConditionEnvironment = "IMALISON_SESSION_TYPE=x11";
|
||||
|
||||
# services.parcellite = {
|
||||
# enable = true;
|
||||
|
||||
Reference in New Issue
Block a user