95 lines
2.2 KiB
Nix
95 lines
2.2 KiB
Nix
{ inputs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hyprpaper.nix
|
|
];
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
plugins = [ inputs.hy3.packages.x86_64-linux.hy3 ];
|
|
settings = {
|
|
"$mod" = "SUPER";
|
|
"$terminal" = "kitty";
|
|
"$fileManager" = "dolphin";
|
|
"$menu" = "wofi --show drun";
|
|
|
|
exec-once = [
|
|
"waybar"
|
|
"dunst"
|
|
];
|
|
|
|
xwayland = {
|
|
force_zero_scaling = true;
|
|
};
|
|
|
|
input = {
|
|
kb_layout = "us";
|
|
kb_options = "caps:escape";
|
|
follow_mouse = 1;
|
|
touchpad.natural_scroll = false;
|
|
};
|
|
|
|
windowrulev2 = [
|
|
# I can guess, but I should figure out what this actually does
|
|
"suppressevent maximize, class:.*"
|
|
];
|
|
|
|
general.layout = "hy3";
|
|
|
|
bind =
|
|
[
|
|
"SHIFT_$mod, Q, killactive"
|
|
"SHIFT_$mod, M, exit"
|
|
|
|
"$mod, D, exec, $menu"
|
|
"$mod, Return, exec, $terminal"
|
|
|
|
"$mod, H, hy3:movefocus, l"
|
|
"$mod, L, hy3:movefocus, r"
|
|
"$mod, K, hy3:movefocus, u"
|
|
"$mod, J, hy3:movefocus, d"
|
|
|
|
"SHIFT_$mod, H, hy3:movewindow, l"
|
|
"SHIFT_$mod, L, hy3:movewindow, r"
|
|
"SHIFT_$mod, K, hy3:movewindow, u"
|
|
"SHIFT_$mod, J, hy3:movewindow, d"
|
|
|
|
"$mod, V, hy3:makegroup, opposite"
|
|
"$mod, W, hy3:changegroup, toggletab"
|
|
|
|
"$mod, A, hy3:changefocus, raise"
|
|
"SHIFT_$mod, A, hy3:changefocus, lower"
|
|
|
|
"$mod, M, fullscreen, 0"
|
|
"$mod, E, hy3:expand, expand"
|
|
"SHIFT_$mod, E, hy3:expand, base"
|
|
|
|
"$mod, Q, hy3:warpcursor"
|
|
]
|
|
++ (
|
|
# workspaces
|
|
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
|
builtins.concatLists (builtins.genList (
|
|
x: let
|
|
ws = let
|
|
c = (x + 1) / 10;
|
|
in
|
|
builtins.toString (x + 1 - (c * 10));
|
|
in [
|
|
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
|
"$mod SHIFT, ${ws}, hy3:movetoworkspace, ${toString (x + 1)}"
|
|
]
|
|
)
|
|
10)
|
|
);
|
|
|
|
bindm =
|
|
[
|
|
"$mod, mouse:272, movewindow"
|
|
"$mod, mouse:273, resizewindow"
|
|
];
|
|
};
|
|
};
|
|
}
|