Files
NubNix/home-manager/10_hypr/08_keybinds.nix
2025-11-13 14:15:48 +00:00

70 lines
3.6 KiB
Nix

{ config, pkgs, ... }:
{
home.file.".config/hypr/08_keybinds.conf".text = ''
# KEYBINDINGS
$mainMod = SUPER L
$mod = SUPER
# Keyboard language switch
bind = SUPER, S, exec, hyprctl switchxkblayout "asus-keyboard-2" 0
bind = SUPER, E, exec, hyprctl switchxkblayout "asus-keyboard-2" 1
# Apps
bind = ALT, T, exec, $terminal
bind = ALT, B, exec, firefox
bind = ALT, F, exec, thunar
bind = ALT, W, killactive,
bind = ALT, V, togglefloating,
bind = ALT, {, pseudo,
bind = ALT, J, togglesplit,
bind = ALT, SPACE, exec, rofi -show drun
# Move focus
bind = ALT, left, movefocus, l
bind = ALT, right, movefocus, r
bind = ALT, up, movefocus, u
bind = ALT, down, movefocus, d
# Screenshot
bind = ALT, P, exec, slurp | tee >(grim -g "$(cat)" "$HOME/Pictures/Screenshots/screenshot-$(date +'%Y-%m-%d-%H%M%S').png") | grim -g "$(cat)" - | wl-copy
# Function keys
bind = , XF86KbdBrightnessDown, exec, bash ~/.config/kbd-brightness.sh down
bind = , XF86KbdBrightnessUp, exec, bash ~/.config/kbd-brightness.sh up
bind = , XF86Launch3, exec, bash ~/.config/kbd-breathing.sh
exec-once = bash ~/.config/kbd-brightness.sh &
bind = , XF86Launch4, exec, ~/.config/hypr/scripts/asus-kbd/cycle-profile.s
# Touchpad / Monitor
bind = , XF86Display, exec, hyprctl dispatch cyclenextmonitor
bind = , XF86Launch1, exec, ~/.config/hyprlock/lock.sh
# Workspaces
bind = ALT, 1, workspace, 1
bind = ALT, 2, workspace, 2
bind = ALT, 3, workspace, 3
bind = ALT, 4, workspace, 4
bind = ALT, 9, workspace, 9 #Kept hidden as "workspace for background tasks".
bind = $mainMod, 1, movetoworkspace, 1
bind = $mainMod, 2, movetoworkspace, 2
bind = $mainMod, 3, movetoworkspace, 3
bind = $mainMod, 4, movetoworkspace, 4
bind = $mainMod, 9, movetoworkspace, 9
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bindm = ALT, mouse:272, movewindow
bindm = ALT, mouse:273, resizewindow
# Multimedia keys
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = , XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# ASUS KEYBOARD SCRIPTS
bind = , XF86KbdBrightnessUp, exec, ~/.config/hypr/scripts/asus-kbd/kbd-brightness.sh up
bind = , XF86KbdBrightnessDown, exec, ~/.config/hypr/scripts/asus-kbd/kbd-brightness.sh down
bind = , XF86Launch3, exec, ~/.config/hypr/scripts/asus-kbd/kbd-breathing.sh
bind = , XF86Launch4, exec, ~/.config/hypr/scripts/asus-kbd/cycle-profile.sh
'';
}