Files
NixOS-Configs/home/hypr/quickshell.nix
Anish Govind fb743d7353 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.
2026-09-19 00:31:18 -07:00

36 lines
902 B
Nix

{ pkgs, inputs, ... }:
let
quickshellPkg =
if
(
inputs ? quickshell
&& inputs.quickshell ? packages
&& inputs.quickshell.packages ? ${pkgs.stdenv.hostPlatform.system}
)
then
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
else
(pkgs.quickshell or pkgs.qt6.qtbase);
in
{
# 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.
xdg.configFile."quickshell" = {
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
];
}