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)
|
# 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 import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
|
||||||
exec-once = systemctl --user start hyprland-session.target
|
exec-once = systemctl --user start hyprland-session.target
|
||||||
exec-once = ~/.config/hypr/scripts/workspace-history.sh
|
exec-once = ~/.config/hypr/scripts/workspace-history.sh
|
||||||
|
|||||||
@@ -56,6 +56,9 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
preferStatusNotifierItems = true;
|
preferStatusNotifierItems = true;
|
||||||
importedVariables = [ "GDK_PIXBUF_ICON_LOADER" ];
|
importedVariables = [ "GDK_PIXBUF_ICON_LOADER" ];
|
||||||
|
profileExtra = ''
|
||||||
|
systemctl --user set-environment IMALISON_SESSION_TYPE=x11
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
home.keyboard = null;
|
home.keyboard = null;
|
||||||
|
|||||||
@@ -45,9 +45,10 @@ makeEnable config "myModules.xmonad" true {
|
|||||||
imageDirectory = "/var/lib/syncthing/sync/Wallpaper";
|
imageDirectory = "/var/lib/syncthing/sync/Wallpaper";
|
||||||
};
|
};
|
||||||
# This service uses feh (X11), so don't run it in Wayland sessions.
|
# 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;
|
services.xsettingsd.enable = true;
|
||||||
|
systemd.user.services.xsettingsd.Unit.ConditionEnvironment = "IMALISON_SESSION_TYPE=x11";
|
||||||
|
|
||||||
# services.parcellite = {
|
# services.parcellite = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user