feat(hypr): Improve config

This commit is contained in:
Malte Tammena 2023-04-14 09:12:46 +02:00
parent 65149328de
commit 950ead9e11

View file

@ -7,6 +7,9 @@
}: let
cfg = config.settings.hyprland;
bemenu = pkgs.callPackage ../../pkgs/bemenu-configured.nix {inherit config;};
doNotDisturb = pkgs.callPackage ../../pkgs/do-not-disturb.nix {};
hyprpaperConfig = ''
preload = ~/Downloads/wallpaper.jpg
wallpaper = eDP-1,~/Downloads/wallpaper.jpg
@ -19,13 +22,18 @@
then "monitor = eDP-1,3840x2160@60,0x0,2"
else ""
}
monitor = desc:BNQ BenQ GW2270 P9J02423SL0, 1920x1080, 0x0, 1
monitor = desc:BNQ BenQ GW2270 P9J02423SL0, transform, 3
monitor = desc:LG Electronics IPS226 SerialNumber, 1920x1080, 1080x420, 1
monitor = ,preferred,auto,1
$mainMod = SUPER
$blue = 458588
$green = 98971a
exec-once=waybar
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once=${pkgs.waybar-hypr}/bin/waybar
exec-once=hyprpaper
windowrule = float,class:^(pinentry-qt)$
@ -40,11 +48,12 @@
kb_layout = us
kb_variant = workman
kb_model =
kb_options =
kb_options = compose:rwin
kb_rules =
follow_mouse = 1
sensitivity = 0
accel_profile = flat
touchpad {
natural_scroll = yes
@ -101,6 +110,7 @@
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
force_split = 2
}
gestures {
@ -114,13 +124,18 @@
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = float,title:^(Firefox Sharing Indicator)$
windowrule = move 100%-57 100%-31,title:^(Firefox Sharing Indicator)$
windowrule = nofocus,title:^(Firefox Sharing Indicator)$
windowrule = noborder,title:^(Firefox Sharing Indicator)$
windowrule = nofullscreenrequest,title:^(Firefox Sharing Indicator)$
windowrule = animation popin,title:^(Firefox Sharing Indicator)$
bind = $mainMod , return, exec , kitty
bind = $mainMod SHIFT, Q , killactive ,
bind = $mainMod SHIFT, E , exit ,
bind = $mainMod SHIFT, space , togglefloating,
bind = $mainMod , R , exec , wofi --show drun
bind = $mainMod , P , pseudo , # dwindle
bind = $mainMod SHIFT, P , pseudo , # dwindle
bind = $mainMod , E , togglesplit , # dwindle
# Move focus with mainMod + arrow keys
@ -144,16 +159,38 @@
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
# Move active window to a workspace and follow it
bind = $mainMod CTRL SHIFT, 1, movetoworkspace, 1
bind = $mainMod CTRL SHIFT, 2, movetoworkspace, 2
bind = $mainMod CTRL SHIFT, 3, movetoworkspace, 3
bind = $mainMod CTRL SHIFT, 4, movetoworkspace, 4
bind = $mainMod CTRL SHIFT, 5, movetoworkspace, 5
bind = $mainMod CTRL SHIFT, 6, movetoworkspace, 6
bind = $mainMod CTRL SHIFT, 7, movetoworkspace, 7
bind = $mainMod CTRL SHIFT, 8, movetoworkspace, 8
bind = $mainMod CTRL SHIFT, 9, movetoworkspace, 9
# Move active window to a workspace without following it
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, T, togglegroup
bind = $mainMod, T, changegroupactive, f
bind = $mainMod, F, fullscreen, 0
bind = $mainMod SHIFT, F, fullscreen, 1
bind = $mainMod CTL SHIFT, F, fakefullscreen
bind = $mainMod, U, pin, active
bind = $mainMod CTRL SHIFT, L, movecurrentworkspacetomonitor, r
bind = $mainMod CTRL SHIFT, H, movecurrentworkspacetomonitor, l
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
@ -162,6 +199,21 @@
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Menu
bind = $mainMod, D, exec, ${bemenu}/bin/bemenu-run-configured -p 'Program:'
# Passwords
bind = $mainMod, P, exec, passmenu-bemenu
# Toggle DO-NOT-DISTURB mode
bind = $mainMod, N, exec, ${doNotDisturb}/bin/do-not-disturb toggle
# Sound control
# bind = XF86AudioRaiseVolume, exec, ${pkgs.ponymix}/bin/ponymix increase 5%
# bind = XF86AudioLowerVolume, exec, ${pkgs.ponymix}/bin/ponymix decrease 5%
# bind = XF86AudioMute, exec, ${pkgs.ponymix}/bin/ponymix toggle
# bind = XF86AudioMicMute, exec, ${pkgs.ponymix}/bin/ponymix --input toggle
'';
in {
options.settings.hyprland = with lib; {