{ pkgs, ... }: { programs.niri.settings.binds = { # spawn terminal "Mod+Return".action.spawn = "kitty"; "Mod+Return".repeat = false; "Mod+D".action.spawn = [ "wofi" "-S" "drun" "--allow-images" ]; "Mod+D".repeat = false; "Mod+I".action.spawn = [ "${pkgs.rofimoji}/bin/rofimoji" "--selector" "wofi" "-f" "alchemical_symbols" "anatolian_hieroglyphs" "emojis" "braille_patterns" "box_drawing" "chess_symbols" "emoticons" "geometric_shapes" "gothic" "greek_extended" "math" "mathematical_alphanumeric_symbols" "mathematical_operators" "miscellaneous_symbols" "miscellaneous_mathematical_symbols-a" "miscellaneous_mathematical_symbols-b" "miscellaneous_symbols_and_arrows" "miscellaneous_symbols_and_pictographs" "miscellaneous_technical" "modi" "modifier_tone_letters" "musical_symbols" "nerd_font" "number_forms" "shorthand_format_controls" "specials" "variation_selectors" "vertical_forms" "-a" "copy" ]; "Mod+Shift+E".action.quit = [ ]; "Mod+Shift+Q".action.close-window = [ ]; "Mod+Shift+P".action.power-off-monitors = [ ]; "Mod+Shift+Ctrl+Slash".action.toggle-keyboard-shortcuts-inhibit = [ ]; "Mod+Shift+Ctrl+Slash".allow-inhibiting = false; "Mod+Shift+Slash".action.show-hotkey-overlay = [ ]; # window/columns controls "Mod+H".action.focus-column-left = [ ]; "Mod+J".action.focus-window-down = [ ]; "Mod+K".action.focus-window-up = [ ]; "Mod+L".action.focus-column-right = [ ]; "Mod+Ctrl+H".action.move-column-left = [ ]; "Mod+Ctrl+J".action.move-window-down = [ ]; "Mod+Ctrl+K".action.move-window-up = [ ]; "Mod+Ctrl+L".action.move-column-right = [ ]; "Mod+R".action.switch-preset-column-width = [ ]; "Mod+V".action.toggle-window-floating = [ ]; "Mod+Shift+V".action.switch-focus-between-floating-and-tiling = [ ]; # monitor controls "Mod+Shift+H".action.focus-monitor-left = [ ]; "Mod+Shift+J".action.focus-monitor-down = [ ]; "Mod+Shift+K".action.focus-monitor-up = [ ]; "Mod+Shift+L".action.focus-monitor-right = [ ]; "Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = [ ]; "Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = [ ]; "Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = [ ]; "Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = [ ]; # workspace controls "Mod+P".action.focus-workspace-up = [ ]; "Mod+N".action.focus-workspace-down = [ ]; "Mod+Ctrl+P".action.move-column-to-workspace-up = [ ]; "Mod+Ctrl+N".action.move-column-to-workspace-down = [ ]; "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; "Mod+7".action.focus-workspace = 7; "Mod+8".action.focus-workspace = 8; "Mod+9".action.focus-workspace = 9; "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; "Mod+Ctrl+7".action.move-column-to-workspace = 7; "Mod+Ctrl+8".action.move-column-to-workspace = 8; "Mod+Ctrl+9".action.move-column-to-workspace = 9; # column editing stuffs "Mod+BracketLeft".action.consume-or-expel-window-left = [ ]; "Mod+BracketRight".action.consume-or-expel-window-right = [ ]; "Mod+F".action.maximize-column = [ ]; "Mod+Shift+F".action.expand-column-to-available-width = [ ]; "Mod+Ctrl+F".action.fullscreen-window = [ ]; "Mod+C".action.center-column = [ ]; "Mod+Minus".action.set-column-width = "-5%"; "Mod+Equal".action.set-column-width = "+5%"; "Mod+Shift+Minus".action.set-window-height = "-10%"; "Mod+Shift+Equal".action.set-window-height = "+10%"; "Mod+W".action.toggle-column-tabbed-display = [ ]; # media keys "XF86AudioRaiseVolume".action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" ]; "XF86AudioLowerVolume".action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-" ]; "XF86AudioMute".action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" ]; "XF86AudioMicMute".action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle" ]; "XF86AudioRaiseVolume".allow-when-locked = true; "XF86AudioLowerVolume".allow-when-locked = true; "XF86AudioMute".allow-when-locked = true; "XF86AudioMicMute".allow-when-locked = true; }; }