From 57cd69a15377feb1db2c58129b04f6f81c1a8209 Mon Sep 17 00:00:00 2001 From: "Wyatt J. Miller" Date: Sat, 28 Jun 2025 14:29:00 -0400 Subject: [PATCH] added zellij, settings --- home/zellij.nix | 293 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 home/zellij.nix diff --git a/home/zellij.nix b/home/zellij.nix new file mode 100644 index 0000000..5e0ef9b --- /dev/null +++ b/home/zellij.nix @@ -0,0 +1,293 @@ +{ ... }: { + programs.zellij = { + enable = true; + settings = { + keybinds = { + clear-defaults = true; + + locked = [ + { key = "Ctrl g"; action = "SwitchToMode \"normal\""; } + ]; + + pane = [ + { key = "left"; action = "MoveFocus \"left\""; } + { key = "down"; action = "MoveFocus \"down\""; } + { key = "up"; action = "MoveFocus \"up\""; } + { key = "right"; action = "MoveFocus \"right\""; } + { key = "c"; action = "SwitchToMode \"renamepane\"; PaneNameInput 0"; } + { key = "d"; action = "NewPane \"down\"; SwitchToMode \"normal\""; } + { key = "e"; action = "TogglePaneEmbedOrFloating; SwitchToMode \"normal\""; } + { key = "f"; action = "ToggleFocusFullscreen; SwitchToMode \"normal\""; } + { key = "h"; action = "MoveFocus \"left\""; } + { key = "j"; action = "MoveFocus \"down\""; } + { key = "k"; action = "MoveFocus \"up\""; } + { key = "l"; action = "MoveFocus \"right\""; } + { key = "n"; action = "NewPane; SwitchToMode \"normal\""; } + { key = "p"; action = "SwitchFocus"; } + { key = "Ctrl p"; action = "SwitchToMode \"normal\""; } + { key = "r"; action = "NewPane \"right\"; SwitchToMode \"normal\""; } + { key = "w"; action = "ToggleFloatingPanes; SwitchToMode \"normal\""; } + { key = "z"; action = "TogglePaneFrames; SwitchToMode \"normal\""; } + ]; + + tab = [ + { key = "left"; action = "GoToPreviousTab"; } + { key = "down"; action = "GoToNextTab"; } + { key = "up"; action = "GoToPreviousTab"; } + { key = "right"; action = "GoToNextTab"; } + { key = "1"; action = "GoToTab 1; SwitchToMode \"normal\""; } + { key = "2"; action = "GoToTab 2; SwitchToMode \"normal\""; } + { key = "3"; action = "GoToTab 3; SwitchToMode \"normal\""; } + { key = "4"; action = "GoToTab 4; SwitchToMode \"normal\""; } + { key = "5"; action = "GoToTab 5; SwitchToMode \"normal\""; } + { key = "6"; action = "GoToTab 6; SwitchToMode \"normal\""; } + { key = "7"; action = "GoToTab 7; SwitchToMode \"normal\""; } + { key = "8"; action = "GoToTab 8; SwitchToMode \"normal\""; } + { key = "9"; action = "GoToTab 9; SwitchToMode \"normal\""; } + { key = "["; action = "BreakPaneLeft; SwitchToMode \"normal\""; } + { key = "]"; action = "BreakPaneRight; SwitchToMode \"normal\""; } + { key = "b"; action = "BreakPane; SwitchToMode \"normal\""; } + { key = "h"; action = "GoToPreviousTab"; } + { key = "j"; action = "GoToNextTab"; } + { key = "k"; action = "GoToPreviousTab"; } + { key = "l"; action = "GoToNextTab"; } + { key = "n"; action = "NewTab; SwitchToMode \"normal\""; } + { key = "r"; action = "SwitchToMode \"renametab\"; TabNameInput 0"; } + { key = "s"; action = "ToggleActiveSyncTab; SwitchToMode \"normal\""; } + { key = "Ctrl t"; action = "SwitchToMode \"normal\""; } + { key = "x"; action = "CloseTab; SwitchToMode \"normal\""; } + { key = "tab"; action = "ToggleTab"; } + ]; + + resize = [ + { key = "left"; action = "Resize \"Increase left\""; } + { key = "down"; action = "Resize \"Increase down\""; } + { key = "up"; action = "Resize \"Increase up\""; } + { key = "right"; action = "Resize \"Increase right\""; } + { key = "+"; action = "Resize \"Increase\""; } + { key = "-"; action = "Resize \"Decrease\""; } + { key = "="; action = "Resize \"Increase\""; } + { key = "H"; action = "Resize \"Decrease left\""; } + { key = "J"; action = "Resize \"Decrease down\""; } + { key = "K"; action = "Resize \"Decrease up\""; } + { key = "L"; action = "Resize \"Decrease right\""; } + { key = "h"; action = "Resize \"Increase left\""; } + { key = "j"; action = "Resize \"Increase down\""; } + { key = "k"; action = "Resize \"Increase up\""; } + { key = "l"; action = "Resize \"Increase right\""; } + { key = "Ctrl n"; action = "SwitchToMode \"normal\""; } + ]; + + move = [ + { key = "left"; action = "MovePane \"left\""; } + { key = "down"; action = "MovePane \"down\""; } + { key = "up"; action = "MovePane \"up\""; } + { key = "right"; action = "MovePane \"right\""; } + { key = "h"; action = "MovePane \"left\""; } + { key = "Ctrl h"; action = "SwitchToMode \"normal\""; } + { key = "j"; action = "MovePane \"down\""; } + { key = "k"; action = "MovePane \"up\""; } + { key = "l"; action = "MovePane \"right\""; } + { key = "n"; action = "MovePane"; } + { key = "p"; action = "MovePaneBackwards"; } + { key = "tab"; action = "MovePane"; } + ]; + + scroll = [ + { key = "Alt left"; action = "MoveFocusOrTab \"left\"; SwitchToMode \"normal\""; } + { key = "Alt down"; action = "MoveFocus \"down\"; SwitchToMode \"normal\""; } + { key = "Alt up"; action = "MoveFocus \"up\"; SwitchToMode \"normal\""; } + { key = "Alt right"; action = "MoveFocusOrTab \"right\"; SwitchToMode \"normal\""; } + { key = "e"; action = "EditScrollback; SwitchToMode \"normal\""; } + { key = "Alt h"; action = "MoveFocusOrTab \"left\"; SwitchToMode \"normal\""; } + { key = "Alt j"; action = "MoveFocus \"down\"; SwitchToMode \"normal\""; } + { key = "Alt k"; action = "MoveFocus \"up\"; SwitchToMode \"normal\""; } + { key = "Alt l"; action = "MoveFocusOrTab \"right\"; SwitchToMode \"normal\""; } + { key = "s"; action = "SwitchToMode \"entersearch\"; SearchInput 0"; } + ]; + + search = [ + { key = "c"; action = "SearchToggleOption \"CaseSensitivity\""; } + { key = "n"; action = "Search \"down\""; } + { key = "o"; action = "SearchToggleOption \"WholeWord\""; } + { key = "p"; action = "Search \"up\""; } + { key = "w"; action = "SearchToggleOption \"Wrap\""; } + ]; + + session = [ + { + key = "c"; + action = "LaunchOrFocusPlugin \"configuration\" { floating true; move_to_focused_tab true }; SwitchToMode \"normal\""; + } + { key = "Ctrl o"; action = "SwitchToMode \"normal\""; } + { + key = "p"; + action = "LaunchOrFocusPlugin \"plugin-manager\" { floating true; move_to_focused_tab true }; SwitchToMode \"normal\""; + } + { + key = "w"; + action = "LaunchOrFocusPlugin \"session-manager\" { floating true; move_to_focused_tab true }; SwitchToMode \"normal\""; + } + ]; + + "shared_except \"locked\"" = [ + { key = "Alt +"; action = "Resize \"Increase\""; } + { key = "Alt -"; action = "Resize \"Decrease\""; } + { key = "Alt ="; action = "Resize \"Increase\""; } + { key = "Alt ["; action = "PreviousSwapLayout"; } + { key = "Alt ]"; action = "NextSwapLayout"; } + { key = "Alt f"; action = "ToggleFloatingPanes"; } + { key = "Ctrl g"; action = "SwitchToMode \"locked\""; } + { key = "Alt i"; action = "MoveTab \"left\""; } + { key = "Alt n"; action = "NewPane"; } + { key = "Alt o"; action = "MoveTab \"right\""; } + { key = "Ctrl q"; action = "Quit"; } + ]; + + "shared_except \"locked\" \"move\"" = [ + { key = "Ctrl h"; action = "SwitchToMode \"move\""; } + ]; + + "shared_except \"locked\" \"session\"" = [ + { key = "Ctrl o"; action = "SwitchToMode \"session\""; } + ]; + + "shared_except \"locked\" \"scroll\"" = [ + { key = "Alt left"; action = "MoveFocusOrTab \"left\""; } + { key = "Alt down"; action = "MoveFocus \"down\""; } + { key = "Alt up"; action = "MoveFocus \"up\""; } + { key = "Alt right"; action = "MoveFocusOrTab \"right\""; } + { key = "Alt h"; action = "MoveFocusOrTab \"left\""; } + { key = "Alt j"; action = "MoveFocus \"down\""; } + { key = "Alt k"; action = "MoveFocus \"up\""; } + { key = "Alt l"; action = "MoveFocusOrTab \"right\""; } + ]; + + "shared_except \"locked\" \"scroll\" \"search\" \"tmux\"" = [ + { key = "Ctrl b"; action = "SwitchToMode \"tmux\""; } + ]; + + "shared_except \"locked\" \"tab\"" = [ + { key = "Ctrl t"; action = "SwitchToMode \"tab\""; } + ]; + + "shared_except \"locked\" \"pane\"" = [ + { key = "Ctrl p"; action = "SwitchToMode \"pane\""; } + ]; + + "shared_except \"locked\" \"resize\"" = [ + { key = "Ctrl n"; action = "SwitchToMode \"resize\""; } + ]; + + "shared_except \"normal\" \"locked\" \"entersearch\"" = [ + { key = "enter"; action = "SwitchToMode \"normal\""; } + ]; + + "shared_except \"normal\" \"locked\" \"entersearch\" \"renametab\" \"renamepane\"" = [ + { key = "esc"; action = "SwitchToMode \"normal\""; } + ]; + + "shared_among \"pane\" \"tmux\"" = [ + { key = "x"; action = "CloseFocus; SwitchToMode \"normal\""; } + ]; + + "shared_among \"scroll\" \"search\"" = [ + { key = "PageDown"; action = "PageScrollDown"; } + { key = "PageUp"; action = "PageScrollUp"; } + { key = "left"; action = "PageScrollUp"; } + { key = "down"; action = "ScrollDown"; } + { key = "up"; action = "ScrollUp"; } + { key = "right"; action = "PageScrollDown"; } + { key = "Ctrl b"; action = "PageScrollUp"; } + { key = "Ctrl c"; action = "ScrollToBottom; SwitchToMode \"normal\""; } + { key = "d"; action = "HalfPageScrollDown"; } + { key = "Ctrl f"; action = "PageScrollDown"; } + { key = "h"; action = "PageScrollUp"; } + { key = "j"; action = "ScrollDown"; } + { key = "k"; action = "ScrollUp"; } + { key = "l"; action = "PageScrollDown"; } + { key = "u"; action = "HalfPageScrollUp"; } + ]; + + entersearch = [ + { key = "Ctrl c"; action = "SwitchToMode \"scroll\""; } + { key = "esc"; action = "SwitchToMode \"scroll\""; } + { key = "enter"; action = "SwitchToMode \"search\""; } + ]; + + renametab = [ + { key = "esc"; action = "UndoRenameTab; SwitchToMode \"tab\""; } + ]; + + "shared_among \"renametab\" \"renamepane\"" = [ + { key = "Ctrl c"; action = "SwitchToMode \"normal\""; } + ]; + + renamepane = [ + { key = "esc"; action = "UndoRenamePane; SwitchToMode \"pane\""; } + ]; + + "shared_among \"session\" \"tmux\"" = [ + { key = "d"; action = "Detach"; } + ]; + + tmux = [ + { key = "left"; action = "MoveFocus \"left\"; SwitchToMode \"normal\""; } + { key = "down"; action = "MoveFocus \"down\"; SwitchToMode \"normal\""; } + { key = "up"; action = "MoveFocus \"up\"; SwitchToMode \"normal\""; } + { key = "right"; action = "MoveFocus \"right\"; SwitchToMode \"normal\""; } + { key = "space"; action = "NextSwapLayout"; } + { key = "\""; action = "NewPane \"down\"; SwitchToMode \"normal\""; } + { key = "%"; action = "NewPane \"right\"; SwitchToMode \"normal\""; } + { key = ","; action = "SwitchToMode \"renametab\""; } + { key = "["; action = "SwitchToMode \"scroll\""; } + { key = "Ctrl b"; action = "Write 2; SwitchToMode \"normal\""; } + { key = "c"; action = "NewTab; SwitchToMode \"normal\""; } + { key = "h"; action = "MoveFocus \"left\"; SwitchToMode \"normal\""; } + { key = "j"; action = "MoveFocus \"down\"; SwitchToMode \"normal\""; } + { key = "k"; action = "MoveFocus \"up\"; SwitchToMode \"normal\""; } + { key = "l"; action = "MoveFocus \"right\"; SwitchToMode \"normal\""; } + { key = "n"; action = "GoToNextTab; SwitchToMode \"normal\""; } + { key = "o"; action = "FocusNextPane"; } + { key = "p"; action = "GoToPreviousTab; SwitchToMode \"normal\""; } + { key = "z"; action = "ToggleFocusFullscreen; SwitchToMode \"normal\""; } + ]; + }; + + plugins = { + compact-bar = { + location = "zellij:compact-bar"; + }; + configuration = { + location = "zellij:configuration"; + }; + filepicker = { + location = "zellij:strider"; + cwd = "/"; + }; + plugin-manager = { + location = "zellij:plugin-manager"; + }; + session-manager = { + location = "zellij:session-manager"; + }; + status-bar = { + location = "zellij:status-bar"; + }; + strider = { + location = "zellij:strider"; + }; + tab-bar = { + location = "zellij:tab-bar"; + }; + }; + + load_plugins = {}; + + theme = "catppuccin-mocha"; + show_startup_tips = false; + show_release_notes = false; + default_mode = "normal"; + }; + }; +}