Commit Graph

2 Commits

Author SHA1 Message Date
Softer 091665a975
Add users to seat group when seatd is selected (#4578)
* Add users to seat group when seatd is selected

When a desktop profile uses seatd for seat access, the user must be
in the seat group for the compositor to access input devices. Without
this, sway/hyprland/niri/labwc fail to start after installation.

* Move seat access provisioning into DesktopProfile.provision()

The four Wayland profiles (Hyprland, Sway, niri, labwc) each duplicated a
provision() override calling provision_seat_access(). Move that into the
base DesktopProfile.provision() loop, which already iterates the selected
profiles, and read CustomSetting.SeatAccess from each. The None check now
lives at the call site (walrus), so provision_seat_access() takes a plain
str. This removes the per-profile overrides and their TYPE_CHECKING imports.

* Use top-level imports in seat access utils

The Installer and User imports were under a TYPE_CHECKING guard, but
they cause no circular import (bspwm.py already imports both at top
level). Move them to module scope per review feedback.
2026-06-10 16:56:17 +10:00
Daniel Girtler ba7dbeadfc
Refactor profile seat access selection (#4457)
* Refactor profile seat access selection

* Update
2026-05-04 14:45:43 +10:00