{ # required for the default Hyprland config programs.kitty.enable = true; services.hyprpolkitagent.enable = true; # enable Hyprland wayland.windowManager.hyprland.enable = true; # we start hyprland using uwsm wayland.windowManager.hyprland.systemd.enable = false; # hyprland.conf wayland.windowManager.hyprland.settings = { exec-once = [ # read in env vars "dbus-update-activation-environment --systemd --all" # start waybar "uwsm app -- waybar" ]; input = { follow_mouse = "1"; touchpad = { natural_scroll = "no"; scroll_factor = 0.5; }; scroll_factor = 0.5; accel_profile = "adaptive"; sensitivity = -0.5; # -1.0 - 1.0, 0 means no modification. kb_layout = "us"; # very emacs specific, i use caps as an extra ctrl key kb_options = "ctrl:nocaps"; }; cursor = { no_hardware_cursors = "true"; }; general = { gaps_in = 2; gaps_out = 4; border_size = 2; "col.active_border" = "$blue $green 45deg"; "col.inactive_border" = "$base"; layout = "dwindle"; }; decoration = { rounding = 5; }; animations = { enabled = "yes"; bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; animation = [ "windows, 1, 7, myBezier" "windowsOut, 1, 7, default, popin 80%" "border, 1, 10, default" "borderangle, 1, 8, default" "fade, 1, 7, default" "workspaces, 1, 6, default" ]; }; dwindle = { pseudotile = "yes"; preserve_split = "yes"; }; misc = { disable_hyprland_logo = true; focus_on_activate = true; }; "$mainMod" = "SUPER"; bind = [ "$mainMod, Return, exec, uwsm app -- kitty" # use walker to show exec menu "$mainMod, Space, exec, walker" "$mainMod, P, pseudo" "$mainMod, J, togglesplit" # grimblast "$mainMod_SHIFT, p, exec, grimblast -n -f copysave active" "$mainMod_SHIFT, a, exec, grimblast -n -f copysave area" "$mainMod_ALT, p, exec, grimblast -n -f copysave output" "$mainMod_CTRL, p, exec, grimblast -n -f copysave screen" # Terminal / launcher / kill / reload "$mainMod, RETURN, exec, kitty" "$mainMod, D, exec, wofi --show drun" "$mainMod, Q, killactive" "$mainMod_SHIFT, Q, exit" "$mainMod_SHIFT, R, exec, hyprctl reload" "$mainMod_SHIFT, S, exec, wlogout" # Default browser "$mainMod, W, exec, xdg-open https://about:blank" # Focus movement "$mainMod, H, movefocus, l" "$mainMod, L, movefocus, r" "$mainMod, K, movefocus, u" "$mainMod, J, movefocus, d" "$mainMod, left, movefocus, l" "$mainMod, right, movefocus, r" "$mainMod, up, movefocus, u" "$mainMod, down, movefocus, d" # Keybindings # # Move windows "$mainMod_SHIFT, H, movewindow, l" "$mainMod_SHIFT, L, movewindow, r" "$mainMod_SHIFT, K, movewindow, u" "$mainMod_SHIFT, J, movewindow, d" "$mainMod_SHIFT, left, movewindow, l" "$mainMod_SHIFT, right, movewindow, r" "$mainMod_SHIFT, up, movewindow, u" "$mainMod_SHIFT, down, movewindow, d" # Resize windows "$mainMod CTRL, H, resizeactive, -30 0" "$mainMod CTRL, L, resizeactive, 30 0" "$mainMod CTRL, K, resizeactive, 0 -30" "$mainMod CTRL, J, resizeactive, 0 30" # Floating / fullscreen "$mainMod, V, togglefloating" "$mainMod, F, fullscreen, 0" "$mainMod_SHIFT, F, fullscreen, 1" # Workspaces "$mainMod, 1, workspace, 1" "$mainMod, 2, workspace, 2" "$mainMod, 3, workspace, 3" "$mainMod, 4, workspace, 4" "$mainMod, 5, workspace, 5" "$mainMod, 6, workspace, 6" "$mainMod, 7, workspace, 7" "$mainMod, 8, workspace, 8" "$mainMod, 9, workspace, 9" "$mainMod, 0, workspace, 10" "$mainMod_SHIFT, 1, movetoworkspace, 1" "$mainMod_SHIFT, 2, movetoworkspace, 2" "$mainMod_SHIFT, 3, movetoworkspace, 3" "$mainMod_SHIFT, 4, movetoworkspace, 4" "$mainMod_SHIFT, 5, movetoworkspace, 5" "$mainMod_SHIFT, 6, movetoworkspace, 6" "$mainMod_SHIFT, 7, movetoworkspace, 7" "$mainMod_SHIFT, 8, movetoworkspace, 8" "$mainMod_SHIFT, 9, movetoworkspace, 9" "$mainMod_SHIFT, 0, movetoworkspace, 10" # Cycle workspaces "$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_up, workspace, e-1" # Mouse drag "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ######################### # Audio (pamixer) ######################### "XF86AudioRaiseVolume, exec, pamixer -i 5" "XF86AudioLowerVolume, exec, pamixer -d 5" "XF86AudioMute, exec, pamixer -t" "XF86AudioMicMute, exec, pamixer --default-source -t" ######################### # Media (playerctl) ######################### "XF86AudioPlay, exec, playerctl play-pause" "XF86AudioPause, exec, playerctl pause" "XF86AudioNext, exec, playerctl next" "XF86AudioPrev, exec, playerctl previous" "XF86AudioStop, exec, playerctl stop" ######################### # Brightness (brightnessctl) ######################### "XF86MonBrightnessUp, exec, brightnessctl set +10%" "XF86MonBrightnessDown, exec, brightnessctl set 10%-" "XF86KbdBrightnessUp, exec, brightnessctl -d '*kbd_backlight*' set +10%" "XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%-" ######################### # Power / session ######################### "XF86Sleep, exec, systemctl suspend" "XF86PowerOff, exec, systemctl poweroff" "XF86WakeUp, exec, systemctl suspend" ######################### # Start apps ######################### "CTRLALT, B, exec, flatpak run eu.betterbird.Betterbird" "CTRLALT, S, exec, spotify" "CTRLALT, z, exec, flatpak run app.zen_browser.zen" "$mainMod_SHIFT, S, exec, wlogout" ]; }; }