45 lines
1.1 KiB
Nix
45 lines
1.1 KiB
Nix
{
|
|
inputs,
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
umodPath,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf mkEnableOption mkDefault;
|
|
cfg = config.userModules.wm.hyprland.cnst;
|
|
in {
|
|
imports = [
|
|
"${umodPath}/wm/hyprland/cnst/appearance.nix"
|
|
"${umodPath}/wm/hyprland/cnst/inputs.nix"
|
|
"${umodPath}/wm/hyprland/cnst/keybinds.nix"
|
|
"${umodPath}/wm/hyprland/cnst/rules.nix"
|
|
"${umodPath}/wm/hyprland/cnst/startup.nix"
|
|
];
|
|
|
|
options = {
|
|
userModules.wm.hyprland.cnst.enable = mkEnableOption "Enable Hyprland";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
userModules.wm.hyprland.cnst = {
|
|
appearance.enable = mkDefault cfg.enable;
|
|
inputs.enable = mkDefault cfg.enable;
|
|
keybinds.enable = mkDefault cfg.enable;
|
|
rules.enable = mkDefault cfg.enable;
|
|
startup.enable = mkDefault cfg.enable;
|
|
};
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
package = inputs.hyprland.packages.${pkgs.system}.default;
|
|
systemd = {
|
|
variables = ["--all"];
|
|
extraCommands = [
|
|
"systemctl --user stop graphical-session.target"
|
|
"systemctl --user start hyprland-session.target"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|