feat: add start-hyprland watchdog override for uwsm session

Hyprland 0.53+ requires launching via start-hyprland (watchdog) for
proper crash diagnostics and signal handling. Without it a warning
banner appears on login.

Override package-managed hyprland.desktop with local copy pointing to
start-hyprland. XDG_DATA_DIRS priority ensures the override wins
without modifying system files.

- ansible/roles/hyprland/tasks/main.yml: manage override in ~/.local/share/wayland-sessions/
- docs/adr/0004-start-hyprland-override.md: full decision record
- docs/hyprland-uwsm.md: document override behavior
This commit is contained in:
ja
2026-05-21 11:15:14 +02:00
parent f81c789683
commit ee592cc21b
3 changed files with 96 additions and 3 deletions
+12 -3
View File
@@ -53,14 +53,23 @@
notify: rebuild initramfs
tags: [hyprland, nvidia]
- name: Hyprland - register Wayland session desktop entry
- name: Hyprland - override Wayland session desktop entry (local user)
# Overrides /usr/share/wayland-sessions/hyprland.desktop with start-hyprland
# as the Exec target. This ensures Hyprland is launched through the watchdog
# binary (start-hyprland) for proper crash diagnostics and signal handling.
# XDG_DATA_DIRS priority: ~/.local/share > /usr/share.
# See: docs/adr/0004-start-hyprland-override.md
copy:
dest: /usr/share/wayland-sessions/hyprland.desktop
dest: /home/{{ system_user }}/.local/share/wayland-sessions/hyprland.desktop
owner: "{{ system_user }}"
group: "{{ system_user }}"
mode: '0644'
content: |
[Desktop Entry]
Name=Hyprland
Comment=An intelligent dynamic tiling Wayland compositor
Exec=Hyprland
Exec=start-hyprland
TryExec=start-hyprland
Type=Application
DesktopNames=Hyprland
tags: [hyprland, session]