This repository has no description
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247{ osConfig, config, pkgs, lib, ...}:let prefix = "space";in{ programs.zellij = { enable = lib.mkDefault true; enableZshIntegration = lib.mkDefault true;
# https://zellij.dev/documentation/options.html settings = { show_startup_tips = false; default_mode = "locked"; };
# generated by zellij: Unlock-First keybind preset # https://zellij.dev/documentation/keybinding-presets.html extraConfig = '' keybinds clear-defaults=true { locked { bind "Ctrl ${prefix}" { SwitchToMode "normal"; } } pane { bind "h" { MoveFocus "left"; } bind "j" { MoveFocus "down"; } bind "k" { MoveFocus "up"; } bind "l" { MoveFocus "right"; } bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; } bind "d" { NewPane "down"; SwitchToMode "locked"; } bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "locked"; } bind "f" { ToggleFocusFullscreen; SwitchToMode "locked"; } bind "i" { TogglePanePinned; SwitchToMode "locked"; } bind "n" { NewPane; SwitchToMode "locked"; } bind "p" { SwitchToMode "normal"; } bind "r" { NewPane "right"; SwitchToMode "locked"; } bind "s" { NewPane "stacked"; SwitchToMode "locked"; } bind "w" { ToggleFloatingPanes; SwitchToMode "locked"; } bind "x" { CloseFocus; SwitchToMode "locked"; } bind "z" { TogglePaneFrames; SwitchToMode "locked"; } bind "tab" { SwitchFocus; } bind ";" { FocusLastPane; } } tab { bind "h" { GoToPreviousTab; } bind "j" { GoToNextTab; } bind "k" { GoToPreviousTab; } bind "l" { GoToNextTab; } bind "1" { GoToTab 1; SwitchToMode "locked"; } bind "2" { GoToTab 2; SwitchToMode "locked"; } bind "3" { GoToTab 3; SwitchToMode "locked"; } bind "4" { GoToTab 4; SwitchToMode "locked"; } bind "5" { GoToTab 5; SwitchToMode "locked"; } bind "6" { GoToTab 6; SwitchToMode "locked"; } bind "7" { GoToTab 7; SwitchToMode "locked"; } bind "8" { GoToTab 8; SwitchToMode "locked"; } bind "9" { GoToTab 9; SwitchToMode "locked"; } bind "[" { BreakPaneLeft; SwitchToMode "locked"; } bind "]" { BreakPaneRight; SwitchToMode "locked"; } bind "b" { BreakPane; SwitchToMode "locked"; } bind "n" { NewTab; SwitchToMode "locked"; } bind "r" { SwitchToMode "renametab"; TabNameInput 0; } bind "s" { ToggleActiveSyncTab; SwitchToMode "locked"; } bind "t" { SwitchToMode "normal"; } bind "x" { CloseTab; SwitchToMode "locked"; } bind "tab" { ToggleTab; } } resize { bind "h" { Resize "Increase left"; } bind "j" { Resize "Increase down"; } bind "k" { Resize "Increase up"; } bind "l" { Resize "Increase right"; } bind "H" { Resize "Decrease left"; } bind "J" { Resize "Decrease down"; } bind "K" { Resize "Decrease up"; } bind "L" { Resize "Decrease right"; } bind "+" { Resize "Increase"; } bind "=" { Resize "Increase"; } bind "-" { Resize "Decrease"; } bind "r" { SwitchToMode "normal"; } } move { bind "h" { MovePane "left"; } bind "j" { MovePane "down"; } bind "k" { MovePane "up"; } bind "l" { MovePane "right"; } bind "m" { SwitchToMode "normal"; } bind "n" { MovePane; } bind "p" { MovePaneBackwards; } bind "tab" { MovePane; } } scroll { bind "e" { EditScrollback; SwitchToMode "locked"; } bind "f" { SwitchToMode "entersearch"; SearchInput 0; } bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "locked"; } bind "Alt j" { MoveFocus "down"; SwitchToMode "locked"; } bind "Alt k" { MoveFocus "up"; SwitchToMode "locked"; } bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "locked"; } bind "s" { SwitchToMode "normal"; } bind "[" { ScrollToPreviousPrompt; } bind "]" { ScrollToNextPrompt; } bind "m" { SelectCommandAtScrollPosition; } bind "c" { CopyLastCommandOutput; SwitchToMode "locked"; } } search { bind "c" { SearchToggleOption "CaseSensitivity"; } bind "n" { Search "down"; } bind "o" { SearchToggleOption "WholeWord"; } bind "p" { Search "up"; } bind "w" { SearchToggleOption "Wrap"; } bind "m" { SelectCommandAtScrollPosition; } } session { bind "a" { LaunchOrFocusPlugin "zellij:about" { floating true move_to_focused_tab true } SwitchToMode "locked" } bind "c" { LaunchOrFocusPlugin "configuration" { floating true move_to_focused_tab true } SwitchToMode "locked" } bind "d" { Detach; } bind "l" { LaunchOrFocusPlugin "zellij:layout-manager" { floating true move_to_focused_tab true } SwitchToMode "locked" } bind "o" { SwitchToMode "normal"; } bind "p" { LaunchOrFocusPlugin "plugin-manager" { floating true move_to_focused_tab true } SwitchToMode "locked" } bind "s" { LaunchOrFocusPlugin "zellij:share" { floating true move_to_focused_tab true } SwitchToMode "locked" } bind "w" { LaunchOrFocusPlugin "session-manager" { floating true move_to_focused_tab true } SwitchToMode "locked" } bind "]" { FocusHostSession; SwitchToMode "locked"; } bind "[" { FocusGuestSession; SwitchToMode "locked"; } bind "f" { ToggleHostFullscreen; SwitchToMode "locked"; } } shared_among "normal" "locked" { bind "Alt h" { MoveFocusOrTab "left"; } bind "Alt j" { MoveFocus "down"; } bind "Alt k" { MoveFocus "up"; } bind "Alt l" { MoveFocusOrTab "right"; } bind "Alt Shift h" { MovePane "left"; } bind "Alt Shift j" { MovePane "down"; } bind "Alt Shift k" { MovePane "up"; } bind "Alt Shift l" { MovePane "right"; } bind "Alt +" { Resize "Increase"; } bind "Alt -" { Resize "Decrease"; } bind "Alt =" { Resize "Increase"; } bind "Alt [" { PreviousSwapLayout; } bind "Alt ]" { NextSwapLayout; } bind "Alt f" { ToggleFloatingPanes; } bind "Alt i" { MoveTab "left"; } bind "Alt n" { NewPane; } bind "Alt o" { MoveTab "right"; } bind "Alt p" { TogglePaneInGroup; } bind "Alt Shift p" { ToggleGroupMarking; } } shared_except "locked" "renametab" "renamepane" { bind "Ctrl ${prefix}" { SwitchToMode "locked"; } bind "Ctrl q" { Quit; } } shared_except "locked" "entersearch" { bind "enter" { SwitchToMode "locked"; } } shared_except "locked" "entersearch" "renametab" "renamepane" { bind "esc" { SwitchToMode "locked"; } } shared_except "locked" "entersearch" "renametab" "renamepane" "move" { bind "m" { SwitchToMode "move"; } } shared_except "locked" "entersearch" "search" "renametab" "renamepane" "session" { bind "o" { SwitchToMode "session"; } } shared_except "locked" "tab" "entersearch" "renametab" "renamepane" { bind "t" { SwitchToMode "tab"; } } shared_among "normal" "resize" "tab" "scroll" "prompt" "tmux" { bind "p" { SwitchToMode "pane"; } } shared_among "normal" "resize" "search" "move" "prompt" "tmux" { bind "s" { SwitchToMode "scroll"; } } shared_except "locked" "resize" "pane" "tab" "entersearch" "renametab" "renamepane" { bind "r" { SwitchToMode "resize"; } } shared_among "scroll" "search" { bind "h" { PageScrollUp; } bind "j" { ScrollDown; } bind "k" { ScrollUp; } bind "l" { PageScrollDown; } bind "PageDown" { PageScrollDown; } bind "PageUp" { PageScrollUp; } bind "Ctrl b" { PageScrollUp; } bind "Ctrl c" { ScrollToBottom; SwitchToMode "locked"; } bind "d" { HalfPageScrollDown; } bind "Ctrl f" { PageScrollDown; } bind "u" { HalfPageScrollUp; } } entersearch { bind "Ctrl c" { SwitchToMode "scroll"; } bind "esc" { SwitchToMode "scroll"; } bind "enter" { SwitchToMode "search"; } } renametab { bind "esc" { UndoRenameTab; SwitchToMode "tab"; } } shared_among "renametab" "renamepane" { bind "Ctrl c" { SwitchToMode "locked"; } } renamepane { bind "esc" { UndoRenamePane; SwitchToMode "pane"; } } } ''; };}