{ flake.modules.homeManager.zellij = { programs.zellij = let mod = "Alt"; # Can be one of "Ctrl", "Alt", "Shift", "Super" in { enable = true; enableZshIntegration = true; settings = { theme = "catppuccin-mocha"; show_startup_tips = false; keybinds = { _props = { clear-defaults = true; }; _children = [ { locked._children = [ { bind = { _args = [ "${mod} g" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } ]; } { resize._children = [ { bind = { _args = [ "${mod} r" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } { 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" ]; } ]; }; } ]; } { pane._children = [ { bind = { _args = [ "${mod} p" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "c" ]; _children = [ { Clear = { }; } ]; }; } { bind = { _args = [ "e" ]; _children = [ { TogglePaneEmbedOrFloating = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "f" ]; _children = [ { ToggleFocusFullscreen = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "s" ]; _children = [ { NewPane._args = [ "stacked" ]; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "j" ]; _children = [ { NewPane._args = [ "Down" ]; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "l" ]; _children = [ { NewPane._args = [ "Right" ]; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "n" ]; _children = [ { NewPane = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "p" ]; _children = [ { SwitchFocus = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "r" ]; _children = [ { SwitchToMode._args = [ "RenamePane" ]; } { PaneNameInput._args = [ 0 ]; } ]; }; } { bind = { _args = [ "w" ]; _children = [ { ToggleFloatingPanes = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "x" ]; _children = [ { CloseFocus = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "z" ]; _children = [ { TogglePaneFrames = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } ]; } { move._children = [ { bind = { _args = [ "${mod} m" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "h" ]; _children = [ { MovePane._args = [ "Left" ]; } ]; }; } { bind = { _args = [ "j" ]; _children = [ { MovePane._args = [ "Down" ]; } ]; }; } { bind = { _args = [ "k" ]; _children = [ { MovePane._args = [ "Up" ]; } ]; }; } { bind = { _args = [ "l" ]; _children = [ { MovePane._args = [ "Right" ]; } ]; }; } ]; } { tab._children = [ { bind = { _args = [ "${mod} t" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "b" ]; _children = [ { BreakPane = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "h" ]; _children = [ { MoveTab._args = [ "Left" ]; } ]; }; } { bind = { _args = [ "l" ]; _children = [ { MoveTab._args = [ "Right" ]; } ]; }; } { bind = { _args = [ "n" ]; _children = [ { NewTab = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "r" ]; _children = [ { SwitchToMode._args = [ "RenameTab" ]; } { TabNameInput._args = [ 0 ]; } ]; }; } { bind = { _args = [ "x" ]; _children = [ { CloseTab = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } ]; } { renametab._children = [ { bind = { _args = [ "${mod} c" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "Esc" ]; _children = [ { UndoRenameTab = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } ]; } { renamepane._children = [ { bind = { _args = [ "${mod} c" ]; _children = [ { SwitchToMode._args = [ "Normal" ]; } ]; }; } { bind = { _args = [ "Esc" ]; _children = [ { UndoRenamePane = { }; } { SwitchToMode._args = [ "Normal" ]; } ]; }; } ]; } { shared_except = { _args = [ "locked" ]; _children = [ { bind = { _args = [ "${mod} g" ]; _children = [ { SwitchToMode._args = [ "Locked" ]; } ]; }; } { bind = { _args = [ "${mod} h" ]; _children = [ { MoveFocusOrTab._args = [ "Left" ]; } ]; }; } { bind = { _args = [ "${mod} l" ]; _children = [ { MoveFocusOrTab._args = [ "Right" ]; } ]; }; } { bind = { _args = [ "${mod} j" ]; _children = [ { MoveFocus._args = [ "Down" ]; } ]; }; } { bind = { _args = [ "${mod} k" ]; _children = [ { MoveFocus._args = [ "Up" ]; } ]; }; } { bind = { _args = [ "${mod} [" ]; _children = [ { PreviousSwapLayout = { }; } ]; }; } { bind = { _args = [ "${mod} ]" ]; _children = [ { NextSwapLayout = { }; } ]; }; } ]; }; } { shared_except = { _args = [ "normal" "locked" ]; _children = [ { bind = { _args = [ "Enter" "Esc" ]; _children = [ { SwitchToMode = [ "Normal" ]; } ]; }; } ]; }; } { shared_except = { _args = [ "pane" "locked" ]; _children = [ { bind = { _args = [ "${mod} p" ]; _children = [ { SwitchToMode = [ "Pane" ]; } ]; }; } ]; }; } { shared_except = { _args = [ "resize" "locked" ]; _children = [ { bind = { _args = [ "${mod} r" ]; _children = [ { SwitchToMode = [ "Resize" ]; } ]; }; } ]; }; } { shared_except = { _args = [ "tab" "locked" ]; _children = [ { bind = { _args = [ "${mod} t" ]; _children = [ { SwitchToMode = [ "Tab" ]; } ]; }; } ]; }; } { shared_except = { _args = [ "move" "locked" ]; _children = [ { bind = { _args = [ "${mod} m" ]; _children = [ { SwitchToMode = [ "Move" ]; } ]; }; } ]; }; } ]; }; plugins = { compact-bar = { _props = { location = "zellij:compact-bar"; }; }; }; simplified_ui = true; pane_frames = false; copy_on_select = true; }; }; }; }