49 lines
1.2 KiB
Nix
49 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
theme,
|
|
...
|
|
}:
|
|
with lib; let
|
|
mkService = lib.recursiveUpdate {
|
|
Unit.PartOf = ["graphical-session.target"];
|
|
Unit.After = ["graphical-session.target"];
|
|
Install.WantedBy = ["graphical-session.target"];
|
|
};
|
|
in {
|
|
imports = [./config.nix ./binds.nix];
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
package = inputs.hyprland.packages.${pkgs.system}.default;
|
|
|
|
plugins = [inputs.hyprland-plugins.packages."${pkgs.system}".borders-plus-plus];
|
|
|
|
systemd = {
|
|
variables = ["--all"];
|
|
extraCommands = [
|
|
"systemctl --user stop graphical-session.target"
|
|
"systemctl --user start hyprland-session.target"
|
|
];
|
|
};
|
|
};
|
|
|
|
# fake a tray to let apps start
|
|
# https://github.com/nix-community/home-manager/issues/2064
|
|
systemd.user.targets.tray = {
|
|
Unit = {
|
|
Description = "Home Manager System Tray";
|
|
Requires = ["graphical-session-pre.target"];
|
|
};
|
|
};
|
|
|
|
systemd.user.services = {
|
|
swaybg = mkService {
|
|
Unit.Description = "Wallpaper chooser";
|
|
Service = {
|
|
ExecStart = "${lib.getExe pkgs.swaybg} -i ${theme.wallpaper}";
|
|
Restart = "always";
|
|
};
|
|
};
|
|
};
|
|
}
|