.dotfiles/modules/home/common/zellij-keybinds.nix
2025-11-17 22:48:52 +01:00

1233 lines
33 KiB
Nix

{ lib, config, ... }:
{
config = lib.mkIf config.swarselmodules.zellij {
programs.zellij = {
settings.keybinds = {
_props.clear-defaults = true;
locked = {
_children = [
{
bind = {
_args = [ "Ctrl g" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
];
};
pane = {
_children = [
{
bind = {
_args = [ "left" ];
_children = [{ MoveFocus._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "down" ];
_children = [{ MoveFocus._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "up" ];
_children = [{ MoveFocus._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "right" ];
_children = [{ MoveFocus._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "c" ];
_children = [
{ SwitchToMode._args = [ "renamepane" ]; }
{ PaneNameInput._args = [ 0 ]; }
];
};
}
{
bind = {
_args = [ "d" ];
_children = [
{ NewPane._args = [ "down" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "e" ];
_children = [
{ TogglePaneEmbedOrFloating = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "f" ];
_children = [
{ ToggleFocusFullscreen = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "h" ];
_children = [{ MoveFocus._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "j" ];
_children = [{ MoveFocus._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "k" ];
_children = [{ MoveFocus._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "l" ];
_children = [{ MoveFocus._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "n" ];
_children = [
{ NewPane = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "p" ];
_children = [{ SwitchFocus = { }; }];
};
}
{
bind = {
_args = [ "Ctrl p" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
{
bind = {
_args = [ "r" ];
_children = [
{ NewPane._args = [ "right" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "w" ];
_children = [
{ ToggleFloatingPanes = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "z" ];
_children = [
{ TogglePaneFrames = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
];
};
tab = {
_children = [
{
bind = {
_args = [ "left" ];
_children = [{ GoToPreviousTab = { }; }];
};
}
{
bind = {
_args = [ "down" ];
_children = [{ GoToNextTab = { }; }];
};
}
{
bind = {
_args = [ "up" ];
_children = [{ GoToPreviousTab = { }; }];
};
}
{
bind = {
_args = [ "right" ];
_children = [{ GoToNextTab = { }; }];
};
}
{
bind = {
_args = [ "1" ];
_children = [
{ GoToTab._args = [ 1 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "2" ];
_children = [
{ GoToTab._args = [ 2 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "3" ];
_children = [
{ GoToTab._args = [ 3 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "4" ];
_children = [
{ GoToTab._args = [ 4 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "5" ];
_children = [
{ GoToTab._args = [ 5 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "6" ];
_children = [
{ GoToTab._args = [ 6 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "7" ];
_children = [
{ GoToTab._args = [ 7 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "8" ];
_children = [
{ GoToTab._args = [ 8 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "9" ];
_children = [
{ GoToTab._args = [ 9 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "[" ];
_children = [
{ BreakPaneLeft = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "]" ];
_children = [
{ BreakPaneRight = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "b" ];
_children = [
{ BreakPane = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "h" ];
_children = [{ GoToPreviousTab = { }; }];
};
}
{
bind = {
_args = [ "j" ];
_children = [{ GoToNextTab = { }; }];
};
}
{
bind = {
_args = [ "k" ];
_children = [{ GoToPreviousTab = { }; }];
};
}
{
bind = {
_args = [ "l" ];
_children = [{ GoToNextTab = { }; }];
};
}
{
bind = {
_args = [ "n" ];
_children = [
{ NewTab = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "r" ];
_children = [
{ SwitchToMode._args = [ "renametab" ]; }
{ TabNameInput._args = [ 0 ]; }
];
};
}
{
bind = {
_args = [ "s" ];
_children = [
{ ToggleActiveSyncTab = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "Ctrl t" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
{
bind = {
_args = [ "x" ];
_children = [
{ CloseTab = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "tab" ];
_children = [{ ToggleTab = { }; }];
};
}
];
};
resize = {
_children = [
{
bind = {
_args = [ "left" ];
_children = [{ Resize._args = [ "Increase left" ]; }];
};
}
{
bind = {
_args = [ "down" ];
_children = [{ Resize._args = [ "Increase down" ]; }];
};
}
{
bind = {
_args = [ "up" ];
_children = [{ Resize._args = [ "Increase up" ]; }];
};
}
{
bind = {
_args = [ "right" ];
_children = [{ Resize._args = [ "Increase right" ]; }];
};
}
{
bind = {
_args = [ "+" ];
_children = [{ Resize._args = [ "Increase" ]; }];
};
}
{
bind = {
_args = [ "-" ];
_children = [{ Resize._args = [ "Decrease" ]; }];
};
}
{
bind = {
_args = [ "=" ];
_children = [{ Resize._args = [ "Increase" ]; }];
};
}
{
bind = {
_args = [ "H" ];
_children = [{ Resize._args = [ "Decrease left" ]; }];
};
}
{
bind = {
_args = [ "J" ];
_children = [{ Resize._args = [ "Decrease down" ]; }];
};
}
{
bind = {
_args = [ "K" ];
_children = [{ Resize._args = [ "Decrease up" ]; }];
};
}
{
bind = {
_args = [ "L" ];
_children = [{ Resize._args = [ "Decrease right" ]; }];
};
}
{
bind = {
_args = [ "h" ];
_children = [{ Resize._args = [ "Increase left" ]; }];
};
}
{
bind = {
_args = [ "j" ];
_children = [{ Resize._args = [ "Increase down" ]; }];
};
}
{
bind = {
_args = [ "k" ];
_children = [{ Resize._args = [ "Increase up" ]; }];
};
}
{
bind = {
_args = [ "l" ];
_children = [{ Resize._args = [ "Increase right" ]; }];
};
}
{
bind = {
_args = [ "Ctrl n" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
];
};
move = {
_children = [
{
bind = {
_args = [ "left" ];
_children = [{ MovePane._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "down" ];
_children = [{ MovePane._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "up" ];
_children = [{ MovePane._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "right" ];
_children = [{ MovePane._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "h" ];
_children = [{ MovePane._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "Ctrl h" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
{
bind = {
_args = [ "j" ];
_children = [{ MovePane._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "k" ];
_children = [{ MovePane._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "l" ];
_children = [{ MovePane._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "n" ];
_children = [{ MovePane = { }; }];
};
}
{
bind = {
_args = [ "p" ];
_children = [{ MovePaneBackwards = { }; }];
};
}
{
bind = {
_args = [ "tab" ];
_children = [{ MovePane = { }; }];
};
}
];
};
scroll = {
_children = [
{
bind = {
_args = [ "e" ];
_children = [
{ EditScrollback = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "s" ];
_children = [
{ SwitchToMode._args = [ "entersearch" ]; }
{ SearchInput._args = [ 0 ]; }
];
};
}
];
};
search = {
_children = [
{
bind = {
_args = [ "c" ];
_children = [{ SearchToggleOption._args = [ "CaseSensitivity" ]; }];
};
}
{
bind = {
_args = [ "n" ];
_children = [{ Search._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "o" ];
_children = [{ SearchToggleOption._args = [ "WholeWord" ]; }];
};
}
{
bind = {
_args = [ "p" ];
_children = [{ Search._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "w" ];
_children = [{ SearchToggleOption._args = [ "Wrap" ]; }];
};
}
];
};
session = {
_children = [
{
bind = {
_args = [ "c" ];
_children = [
{
LaunchOrFocusPlugin._args = [ "configuration" ];
LaunchOrFocusPlugin._children = [
{ floating._args = [ true ]; }
{ move_to_focused_tab._args = [ true ]; }
];
}
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "Ctrl o" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
{
bind = {
_args = [ "p" ];
_children = [
{
LaunchOrFocusPlugin._args = [ "plugin-manager" ];
LaunchOrFocusPlugin._children = [
{ floating._args = [ true ]; }
{ move_to_focused_tab._args = [ true ]; }
];
}
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "w" ];
_children = [
{
LaunchOrFocusPlugin._args = [ "session-manager" ];
LaunchOrFocusPlugin._children = [
{ floating._args = [ true ]; }
{ move_to_focused_tab._args = [ true ]; }
];
}
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
];
};
"shared_except \"locked\"" = {
_children = [
{
bind = {
_args = [ "Alt left" ];
_children = [{ MoveFocusOrTab._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "Alt down" ];
_children = [{ MoveFocus._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "Alt up" ];
_children = [{ MoveFocus._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "Alt right" ];
_children = [{ MoveFocusOrTab._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "Alt +" ];
_children = [{ Resize._args = [ "Increase" ]; }];
};
}
{
bind = {
_args = [ "Alt -" ];
_children = [{ Resize._args = [ "Decrease" ]; }];
};
}
{
bind = {
_args = [ "Alt =" ];
_children = [{ Resize._args = [ "Increase" ]; }];
};
}
{
bind = {
_args = [ "Alt [" ];
_children = [{ PreviousSwapLayout = { }; }];
};
}
{
bind = {
_args = [ "Alt ]" ];
_children = [{ NextSwapLayout = { }; }];
};
}
{
bind = {
_args = [ "Alt f" ];
_children = [{ ToggleFloatingPanes = { }; }];
};
}
{
bind = {
_args = [ "Ctrl g" ];
_children = [{ SwitchToMode._args = [ "locked" ]; }];
};
}
{
bind = {
_args = [ "Alt h" ];
_children = [{ MoveFocusOrTab._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "Alt i" ];
_children = [{ MoveTab._args = [ "left" ]; }];
};
}
{
bind = {
_args = [ "Alt j" ];
_children = [{ MoveFocus._args = [ "down" ]; }];
};
}
{
bind = {
_args = [ "Alt k" ];
_children = [{ MoveFocus._args = [ "up" ]; }];
};
}
{
bind = {
_args = [ "Alt l" ];
_children = [{ MoveFocusOrTab._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "Alt n" ];
_children = [{ NewPane = { }; }];
};
}
{
bind = {
_args = [ "Alt o" ];
_children = [{ MoveTab._args = [ "right" ]; }];
};
}
{
bind = {
_args = [ "Ctrl q" ];
_children = [{ Quit = { }; }];
};
}
];
};
"shared_except \"locked\" \"move\"" = {
_children = [
{
bind = {
_args = [ "Ctrl h" ];
_children = [{ SwitchToMode._args = [ "move" ]; }];
};
}
];
};
"shared_except \"locked\" \"session\"" = {
_children = [
{
bind = {
_args = [ "Ctrl o" ];
_children = [{ SwitchToMode._args = [ "session" ]; }];
};
}
];
};
"shared_except \"locked\" \"scroll\" \"search\" \"tmux\"" = {
_children = [
{
bind = {
_args = [ "Ctrl b" ];
_children = [{ SwitchToMode._args = [ "tmux" ]; }];
};
}
];
};
"shared_except \"locked\" \"scroll\" \"search\"" = {
_children = [
{
bind = {
_args = [ "Ctrl s" ];
_children = [{ SwitchToMode._args = [ "scroll" ]; }];
};
}
];
};
"shared_except \"locked\" \"tab\"" = {
_children = [
{
bind = {
_args = [ "Ctrl t" ];
_children = [{ SwitchToMode._args = [ "tab" ]; }];
};
}
];
};
"shared_except \"locked\" \"pane\"" = {
_children = [
{
bind = {
_args = [ "Ctrl p" ];
_children = [{ SwitchToMode._args = [ "pane" ]; }];
};
}
];
};
"shared_except \"locked\" \"resize\"" = {
_children = [
{
bind = {
_args = [ "Ctrl n" ];
_children = [{ SwitchToMode._args = [ "resize" ]; }];
};
}
];
};
"shared_except \"normal\" \"locked\" \"entersearch\"" = {
_children = [
{
bind = {
_args = [ "enter" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
];
};
"shared_except \"normal\" \"locked\" \"entersearch\" \"renametab\" \"renamepane\"" = {
_children = [
{
bind = {
_args = [ "esc" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
];
};
"shared_among \"pane\" \"tmux\"" = {
_children = [
{
bind = {
_args = [ "x" ];
_children = [
{ CloseFocus = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
];
};
"shared_among \"scroll\" \"search\"" = {
_children = [
{
bind = {
_args = [ "PageDown" ];
_children = [{ PageScrollDown = { }; }];
};
}
{
bind = {
_args = [ "PageUp" ];
_children = [{ PageScrollUp = { }; }];
};
}
{
bind = {
_args = [ "left" ];
_children = [{ PageScrollUp = { }; }];
};
}
{
bind = {
_args = [ "down" ];
_children = [{ ScrollDown = { }; }];
};
}
{
bind = {
_args = [ "up" ];
_children = [{ ScrollUp = { }; }];
};
}
{
bind = {
_args = [ "right" ];
_children = [{ PageScrollDown = { }; }];
};
}
{
bind = {
_args = [ "Ctrl b" ];
_children = [{ PageScrollUp = { }; }];
};
}
{
bind = {
_args = [ "Ctrl c" ];
_children = [
{ ScrollToBottom = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "d" ];
_children = [{ HalfPageScrollDown = { }; }];
};
}
{
bind = {
_args = [ "Ctrl f" ];
_children = [{ PageScrollDown = { }; }];
};
}
{
bind = {
_args = [ "h" ];
_children = [{ PageScrollUp = { }; }];
};
}
{
bind = {
_args = [ "j" ];
_children = [{ ScrollDown = { }; }];
};
}
{
bind = {
_args = [ "k" ];
_children = [{ ScrollUp = { }; }];
};
}
{
bind = {
_args = [ "l" ];
_children = [{ PageScrollDown = { }; }];
};
}
{
bind = {
_args = [ "Ctrl s" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
{
bind = {
_args = [ "u" ];
_children = [{ HalfPageScrollUp = { }; }];
};
}
];
};
entersearch = {
_children = [
{
bind = {
_args = [ "Ctrl c" ];
_children = [{ SwitchToMode._args = [ "scroll" ]; }];
};
}
{
bind = {
_args = [ "esc" ];
_children = [{ SwitchToMode._args = [ "scroll" ]; }];
};
}
{
bind = {
_args = [ "enter" ];
_children = [{ SwitchToMode._args = [ "search" ]; }];
};
}
];
};
renametab = {
_children = [
{
bind = {
_args = [ "esc" ];
_children = [
{ UndoRenameTab = { }; }
{ SwitchToMode._args = [ "tab" ]; }
];
};
}
];
};
"shared_among \"renametab\" \"renamepane\"" = {
_children = [
{
bind = {
_args = [ "Ctrl c" ];
_children = [{ SwitchToMode._args = [ "normal" ]; }];
};
}
];
};
renamepane = {
_children = [
{
bind = {
_args = [ "esc" ];
_children = [
{ UndoRenamePane = { }; }
{ SwitchToMode._args = [ "pane" ]; }
];
};
}
];
};
"shared_among \"session\" \"tmux\"" = {
_children = [
{
bind = {
_args = [ "d" ];
_children = [{ Detach = { }; }];
};
}
];
};
tmux = {
_children = [
{
bind = {
_args = [ "left" ];
_children = [
{ MoveFocus._args = [ "left" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "down" ];
_children = [
{ MoveFocus._args = [ "down" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "up" ];
_children = [
{ MoveFocus._args = [ "up" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "right" ];
_children = [
{ MoveFocus._args = [ "right" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "space" ];
_children = [{ NextSwapLayout = { }; }];
};
}
{
bind = {
_args = [ "\"" ];
_children = [
{ NewPane._args = [ "down" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "%" ];
_children = [
{ NewPane._args = [ "right" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "," ];
_children = [{ SwitchToMode._args = [ "renametab" ]; }];
};
}
{
bind = {
_args = [ "[" ];
_children = [{ SwitchToMode._args = [ "scroll" ]; }];
};
}
{
bind = {
_args = [ "Ctrl b" ];
_children = [
{ Write._args = [ 2 ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "c" ];
_children = [
{ NewTab = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "h" ];
_children = [
{ MoveFocus._args = [ "left" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "j" ];
_children = [
{ MoveFocus._args = [ "down" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "k" ];
_children = [
{ MoveFocus._args = [ "up" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "l" ];
_children = [
{ MoveFocus._args = [ "right" ]; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "n" ];
_children = [
{ GoToNextTab = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "o" ];
_children = [{ FocusNextPane = { }; }];
};
}
{
bind = {
_args = [ "p" ];
_children = [
{ GoToPreviousTab = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
{
bind = {
_args = [ "z" ];
_children = [
{ ToggleFocusFullscreen = { }; }
{ SwitchToMode._args = [ "normal" ]; }
];
};
}
];
};
};
};
};
}