diff options
| author | adikro <adikro@disroot.org> | 2025-11-18 21:00:16 +0100 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2025-11-18 21:00:16 +0100 |
| commit | 8498fab8785d08402e2330dfb6f45f1121cd1b2b (patch) | |
| tree | 12798dedc5ff18ecc8d39d714881e351581cee0e /home/wayland/niri/binds.nix | |
| parent | f685be6aea021196ee40d909aab0ab6241eef397 (diff) | |
configured a bunch of niri features
Diffstat (limited to 'home/wayland/niri/binds.nix')
| -rw-r--r-- | home/wayland/niri/binds.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/home/wayland/niri/binds.nix b/home/wayland/niri/binds.nix new file mode 100644 index 0000000..1e3e281 --- /dev/null +++ b/home/wayland/niri/binds.nix @@ -0,0 +1,66 @@ +{ config, pkgs, ... }: +{ + programs.niri.settings.binds = with config.lib.niri.actions; + let + set-volume = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@"; + playerctl = spawn "${pkgs.playerctl}/bin/playerctl"; + in + { + "Mod+Slash".action = show-hotkey-overlay; + XF86AudioRaiseVolume.action = set-volume "2%+"; + XF86AudioLowerVolume.action = set-volume "2%-"; + XF86AudioMute.action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; + XF86AudioMicMute.action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; + XF86AudioPlay.action = playerctl "play-pause"; + XF86AudioStop.action = playerctl "pause"; + XF86AudioPrev.action = playerctl "previous"; + XF86AudioNext.action = playerctl "next"; + "Mod+Minus".action = set-column-width "-10%"; + "Mod+Equal".action = set-column-width "+10%"; + + # // Finer height adjustments when in column with other windows. + "Mod+Shift+Minus".action = set-window-height "-10%"; + "Mod+Shift+Equal".action = set-window-height "+10%"; + # "Mod+Shift+V".action = switch-focus-between-floating-and-tiling; + "Mod+Shift+P".action = power-off-monitors; + + # --- System / General --- + "Mod+Return".action = spawn "foot"; + "Mod+D".action = spawn "fuzzel"; + + # The 'quit' action without arguments performs the action with confirmation. + "Mod+Shift+E".action = quit; + + # --- Window Navigation (Focus) --- + "Mod+H".action = focus-column-left; + "Mod+L".action = focus-column-right; + "Mod+J".action = focus-window-down; + "Mod+K".action = focus-window-up; + + # --- Window Management (Move) --- + "Mod+Shift+H".action = move-column-left; + "Mod+Shift+L".action = move-column-right; + "Mod+Shift+J".action = move-window-down; + "Mod+Shift+K".action = move-window-up; + + # --- Window State --- + "Mod+Shift+Q".action = close-window; + "Mod+F".action = maximize-column; + # "Mod+V".action = toggle-window-floating; # Renamed from toggle-floating to match docs}; + + "Mod+1".action = focus-workspace 1; + "Mod+2".action = focus-workspace 2; + "Mod+3".action = focus-workspace 3; + "Mod+4".action = focus-workspace 4; + "Mod+5".action = focus-workspace 5; + "Mod+6".action = focus-workspace 6; + + # The wonky format used here is to work-around https://github.com/sodiboo/niri-flake/issues/944 + "Mod+Ctrl+1".action.move-column-to-workspace = [ 1 ]; + "Mod+Ctrl+2".action.move-column-to-workspace = [ 2 ]; + "Mod+Ctrl+3".action.move-column-to-workspace = [ 3 ]; + "Mod+Ctrl+4".action.move-column-to-workspace = [ 4 ]; + "Mod+Ctrl+5".action.move-column-to-workspace = [ 5 ]; + "Mod+Ctrl+6".action.move-column-to-workspace = [ 6 ]; + }; +} |
