dotfiles/home/features/desktop/hyprland.nix

102 lines
2.4 KiB
Nix

{config, pkgs, ... }: {
wayland.windowManager.hyprland.extraConfig = ''
monitor=eDP-1,2400x1600,auto,1.0
env = XCURSOR_SIZE,24
input {
kb_layout = us
follow_mouse = 1
touchpad {
natural_scroll = yes
}
sensitivity = 0
}
general {
gaps_in = 3
gaps_out = 7
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
pseudotile = yes
preserve_split = yes
}
master {
new_is_master = true
}
gestures {
workspace_swipe = off
}
device:epic-mouse-v1 {
sensitivity = -0.5
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Bind
s/ for more
bind = $mod, Q, exec, kitty
bind = $mod, C, killactive,
bind = $mod, M, exit,
bind = $mod, E, exec, dolphin
bind = $mod, V, togglefloating,
bind = $mod, R, exec, wofi --show drun
bind = $mod, P, pseudo, # dwindle
bind = $mod, J, togglesplit, # dwindle
# Move focus with mod + arrow keys
bind = $mod, left, movefocus, l
bind = $mod, right, movefocus, r
bind = $mod, up, movefocus, u
bind = $mod, down, movefocus, d
# workspaces
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
${builtins.concatStringsSep "\n" (builtins.genList (
x: let
ws = let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in ''
bind = $mod, ${ws}, workspace, ${toString (x + 1)}
bind = $mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}
''
)
10)}
# Scroll through existing workspaces with mod + scroll
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up, workspace, e-1
# Move/resize windows with mod + LMB/RMB and dragging
bindm = $mod, mouse:272, movewindow
bindm = $mod, mouse:273, resizewindow
'';
}