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:
@@ -570,6 +570,7 @@ bind = $mainMod, mouse_up, exec, ~/.config/hypr/scripts/workspace-scroll.sh -1
|
||||
# =============================================================================
|
||||
|
||||
# Start Hyprland session target for systemd user services (e.g., waybar)
|
||||
exec-once = systemctl --user set-environment IMALISON_SESSION_TYPE=wayland
|
||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
|
||||
exec-once = systemctl --user start hyprland-session.target
|
||||
exec-once = ~/.config/hypr/scripts/workspace-history.sh
|
||||
|
||||
@@ -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