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.
36 lines
902 B
Nix
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
|
|
];
|
|
}
|