dotfiles/home/by-host/endurance/hyprland/keybinds.nix
Christopher Mühl 7af406f315
feat: add Hyprland as an additional compositor alongside Niri
Enables programs.hyprland at the system level, adds xdg-desktop-portal-hyprland
with per-compositor portal routing, and wires up a home-manager config for
endurance mirroring the Niri layout (same keybinds, monitors, window rules).
Niri remains the default SDDM session.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 10:53:30 +01:00

59 lines
1.5 KiB
Nix

{pkgs, ...}: {
wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER";
bind = [
# Apps
"$mod, space, exec, fuzzel"
"$mod, c, exec, ${pkgs.harbor.spawn-term}/bin/spawn-term"
"$mod, e, exec, nautilus"
"$mod, d, exec, zeal"
"$mod, g, exec, ${pkgs.harbor.hg-picker}/bin/hg-picker"
# Window management
"$mod, q, killactive"
"$mod, f, fullscreen, 1"
"$mod, t, togglefloating"
"$mod, p, pseudo"
"$mod SHIFT, j, togglesplit"
# Focus (vim-style, matching niri keybinds)
"$mod, h, movefocus, l"
"$mod, l, movefocus, r"
"$mod, k, movefocus, u"
"$mod, j, movefocus, d"
# Move windows
"$mod CTRL, h, movewindow, l"
"$mod CTRL, l, movewindow, r"
"$mod CTRL, k, movewindow, u"
"$mod CTRL, j, movewindow, d"
# Workspaces
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
# Move to workspace silently
"$mod CTRL, 1, movetoworkspacesilent, 1"
"$mod CTRL, 2, movetoworkspacesilent, 2"
"$mod CTRL, 3, movetoworkspacesilent, 3"
"$mod CTRL, 4, movetoworkspacesilent, 4"
"$mod CTRL, 5, movetoworkspacesilent, 5"
];
bindm = [
# Mouse: move and resize windows
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
bindl = [
# Scroll through workspaces
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
];
};
}