nixos/home/components/hyprland.nix

76 lines
1.4 KiB
Nix

{
inputs,
config,
pkgs,
lib,
...
}:
let genFlatList = f: n: builtins.concatLists (builtins.genList f n);
in
{
programs.kitty = {
enable = true;
};
wayland.windowManager.hyprland = {
enable = true;
settings = {
general = {
gaps_in = 5;
gaps_out = 20;
border_size = 2;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
resize_on_border = true;
};
input.kb_layout = "no";
input.touchpad.natural_scroll = true;
decoration = {
rounding = 0;
active_opacity = 1.0;
inactive_opacity = 1.0;
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
blur = {
enabled = true;
size = 3;
passes = 1;
vibrancy = 0.1696;
};
};
bind = [
"SUPER, Return, exec, kitty"
"SUPER SHIFT, Q, exit"
"SUPER, V, togglefloating"
"SUPER, J, togglesplit"
"SUPER, P, pseudo"
"ALT CTRL, left, workspace, -1"
"ALT CTRL, right, workspace, +1"
] ++ (
genFlatList
( x: let n = toString (x + 1);
in
[ "SUPER, ${n}, workspace, ${n}"
"SUPER SHIFT, ${n}, movetoworkspace, ${n}"
]
)
9
);
};
};
}