hypr: move session daemons from exec-once to systemd user services

Replace the hl.exec_cmd autostart block with declarative home-manager
services so the desktop shell has proper ordering and lifecycle:

- services.hyprpaper (with settings) for hyprpaper
- services.cliphist for the text/image clipboard watchers
- services.hyprpolkitagent for the polkit agent
- programs.quickshell.systemd for the quickshell shell
- a hand-written systemd.user.services.mako (home-manager has no unit)

All are tied to config.wayland.systemd.target (graphical-session.target),
which start-hyprland already activates. No UWSM required.
This commit is contained in:
2026-09-19 00:31:18 -07:00
parent 598a43eace
commit fb743d7353
4 changed files with 70 additions and 31 deletions

View File

@@ -14,11 +14,6 @@ let
(pkgs.quickshell or pkgs.qt6.qtbase);
in
{
home.packages = with pkgs; [
quickshellPkg
qt6.qtwayland
];
# Quickshell overview module for Hyprland (Super+Tab workspace overview).
# Vendored from: https://github.com/Shanu-Kumawat/quickshell-overview
# Placed at the quickshell config root so a bare `qs` finds shell.qml.
@@ -26,4 +21,15 @@ in
source = ./quickshell;
recursive = true;
};
# Run quickshell as a systemd user service tied to the Wayland session.
programs.quickshell = {
enable = true;
package = quickshellPkg;
systemd.enable = true;
};
home.packages = with pkgs; [
qt6.qtwayland
];
}