Files
copnix/home/hypr/hyprland/keybinds.nix
T
2026-04-21 20:13:00 +03:00

165 lines
7.4 KiB
Nix

{ ... }:
let
qs = "qs -c ii ipc call";
qsFallback = cmd: "qs -c ii ipc call TEST_ALIVE || ${cmd}";
in
{
wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER";
# global binds (ill)
bindid = [
"Super, SUPER_L, Toggle search, global, quickshell:searchToggleRelease"
"Super, SUPER_R, Toggle search, global, quickshell:searchToggleRelease"
];
binditn = [
"Super, catchall, global, quickshell:searchToggleReleaseInterrupt"
];
bindit = [
", Super_L, global, quickshell:workspaceNumber"
", Super_R, global, quickshell:workspaceNumber"
];
bind = [
# qs fallback
"Super, SUPER_L, exec, ${qsFallback "fuzzel"}"
"Super, SUPER_R, exec, ${qsFallback "fuzzel"}"
"Ctrl, Super_L, global, quickshell:searchToggleReleaseInterrupt"
"Ctrl, Super_R, global, quickshell:searchToggleReleaseInterrupt"
# qs toggles
"Super, Tab, global, quickshell:overviewWorkspacesToggle"
"Super, A, global, quickshell:sidebarLeftToggle"
"Super, N, global, quickshell:sidebarRightToggle"
"Super, V, global, quickshell:overviewClipboardToggle"
"Super, Period, global, quickshell:overviewEmojiToggle"
"Super, Comma, global, quickshell:cheatsheetToggle"
"Super, J, global, quickshell:barToggle"
"Super, M, global, quickshell:mediaControlsToggle"
"Ctrl Alt, Delete, global, quickshell:sessionToggle"
"Ctrl Super, T, global, quickshell:wallpaperSelectorToggle"
"Ctrl Super, R, exec, killall qs quickshell; qs -c ii &"
"Ctrl Super, P, global, quickshell:panelFamilyCycle"
# cb-ss-misc
"Super, V, exec, ${qsFallback "cliphist list | fuzzel --match-mode fzf --dmenu | cliphist decode | wl-copy"}"
"Super, Period, exec, ${qsFallback "fuzzel"}"
"Super Shift, S, global, quickshell:regionScreenshot"
"Super Shift, S, exec, ${qsFallback "hyprshot --freeze --clipboard-only --mode region --silent"}"
"Super Shift, A, global, quickshell:regionSearch"
"Super Shift, X, global, quickshell:regionOcr"
"Super Shift, C, exec, hyprpicker -a"
", Print, exec, grim - | wl-copy"
# rec
"Super Shift, R, global, quickshell:regionRecord"
# loc/session
"Super, L, exec, loginctl lock-session"
"Super Shift, L, exec, systemctl suspend"
# Apps
"Super, Return, exec, ghostty"
"Super, W, exec, zen-beta"
"Super, E, exec, nautilus"
"Super, Z, exec, zeditor"
"Ctrl Alt, T, exec, ghostty"
"Super Alt, V, exec, pavucontrol"
"Ctrl Shift, Escape, exec, ghostty -e btop"
# win management
"Super, Q, killactive"
"Super Alt, SPACE, togglefloating"
"Super, F, fullscreen, 0"
"Super, D, fullscreen, 1"
"Super, P, pin"
# scrolling
"CTRL $mainMod, right, layoutmsg, focus r"
"CTRL $mainMod, left, layoutmsg, focus l"
"CTRL $mainMod, down, workspace, r+1"
"CTRL $mainMod, up, workspace, r-1"
"Super, left, movefocus, l"
"Super, right, movefocus, r"
"Super, up, movefocus, u"
"Super, down, movefocus, d"
# move win
"CTRL $mainMod SHIFT, right, layoutmsg, movewindowto r"
"CTRL $mainMod SHIFT, left, layoutmsg, movewindowto l"
"CTRL $mainMod SHIFT, down, movetoworkspace, r+1"
"CTRL $mainMod SHIFT, up, movetoworkspace, r-1"
"Super Shift, left, layoutmsg, movewindowto l"
"Super Shift, right, layoutmsg, movewindowto r"
"Super Shift, up, movewindow, u"
"Super Shift, down, movewindow, d"
# scroll layout
"$mainMod, R, layoutmsg, colresize +conf"
"$mainMod, C, layoutmsg, center"
"$mainMod SHIFT, R, layoutmsg, colresize 0.7"
# wspace
"Super, code:10, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 1"
"Super, code:11, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 2"
"Super, code:12, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 3"
"Super, code:13, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 4"
"Super, code:14, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 5"
"Super, code:15, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 6"
"Super, code:16, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 7"
"Super, code:17, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 8"
"Super, code:18, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 9"
"Super, code:19, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 10"
"Super Alt, code:10, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 1"
"Super Alt, code:11, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 2"
"Super Alt, code:12, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 3"
"Super Alt, code:13, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 4"
"Super Alt, code:14, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 5"
"Super Alt, code:15, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 6"
"Super Alt, code:16, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 7"
"Super Alt, code:17, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 8"
"Super Alt, code:18, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 9"
"Super Alt, code:19, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 10"
"Ctrl Super, Right, workspace, r+1"
"Ctrl Super, Left, workspace, r-1"
"Super, Page_Down, workspace, +1"
"Super, Page_Up, workspace, -1"
# special workspace
"Super, S, togglespecialworkspace"
"Super Alt, S, movetoworkspacesilent, special"
# media
"Super Shift, N, exec, playerctl next"
"Super Shift, B, exec, playerctl previous"
"Super Shift, P, exec, playerctl play-pause"
];
bindm = [
"Super, mouse:272, movewindow"
"Super, mouse:273, resizewindow"
];
bindle = [
", XF86MonBrightnessUp, exec, ${qs} brightness increment || brightnessctl s 5%+"
", XF86MonBrightnessDown, exec, ${qs} brightness decrement || brightnessctl s 5%-"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1.5"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
];
bindl = [
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioPause, exec, playerctl play-pause"
];
};
}