Files
nixos-config/modules/home-manager/hyprland.nix
T
2025-12-09 16:52:43 +01:00

74 lines
1.7 KiB
Nix

{ pkgs, ... }:
{
programs.waybar.enable = true;
wayland.windowManager.hyprland =
let
# workspaces
# binds $mod/alt + [shift +] {1..9} to [move to] workspace {1..9}
workspaces = builtins.concatLists (
builtins.genList (
i:
let
ws = toString (i + 1);
in
[
"$mod,${ws},workspace,${ws}"
"ALT,${ws},workspace,${ws}"
"$mod SHIFT,${ws},movetoworkspace,${ws}"
"ALTSHIFT,${ws},movetoworkspace,${ws}"
]
) 9
);
in
{
enable = true;
package = pkgs.hyprland;
xwayland.enable = true;
settings = {
monitor = [
",1920x1080@60,0x0,1"
];
"$mod" = "SUPER";
"$launcher" = "rofi -show drun";
bind = [
"ALTSHIFT,Q,killactive,"
"ALT,V,togglefloating,"
"ALT,F,fullscreen,1"
"ALTSHIFT,F,fullscreen,0"
"$mod,Return,exec,kitty"
"$mod,F,exec,firefox"
"$mod,R,exec,$launcher"
"ALT,H,movefocus,l"
"ALT,L,movefocus,r"
"ALT,K,movefocus,u"
"ALT,J,movefocus,d"
"ALTSHIFT,H,movewindow,l"
"ALTSHIFT,L,movewindow,r"
"ALTSHIFT,K,movewindow,u"
"ALTSHIFT,J,movewindow,d"
]
++ workspaces;
windowrule = "bordersize 0, fullscreen:1";
general = {
gaps_in = 2;
gaps_out = 2;
"col.active_border" = "0xff888888";
};
animations.animation = [
"windows,1,4,default"
"border,1,5,default"
"fadeIn,1,5,default"
"workspaces,1,3,default"
];
cursor.no_warps = true;
};
};
}