dotfiles-tui 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +4 -0
  3. data/.gitattributes +1 -0
  4. data/.github/workflows/publish-gem.yml +36 -0
  5. data/.gitignore +316 -0
  6. data/.shellcheckrc +1 -0
  7. data/.stow-local-ignore +23 -0
  8. data/.vscode/settings.json +2 -0
  9. data/Configs/aerospace/.config/aerospace/aerospace.toml +265 -0
  10. data/Configs/alacritty/.config/alacritty/alacritty.toml +31 -0
  11. data/Configs/conda/.condarc +1 -0
  12. data/Configs/continue/.continue/.continueignore +0 -0
  13. data/Configs/continue/.continue/.continuerc.json +3 -0
  14. data/Configs/continue/.continue/config.json +48 -0
  15. data/Configs/docker/.docker/completion/completion.zsh +3 -0
  16. data/Configs/editorconfig/.editorconfig +16 -0
  17. data/Configs/fzf/.fzf/completion/completion.zsh +8 -0
  18. data/Configs/git/.config/gitconfig/core +83 -0
  19. data/Configs/git/.config/gitconfig/home +20 -0
  20. data/Configs/git/.config/gitconfig/template.txt +7 -0
  21. data/Configs/git/.config/gitconfig/work +23 -0
  22. data/Configs/git/.gitconfig +25 -0
  23. data/Configs/gpg/.gnupg/.#lk0x000000015060b4e0.macBook.pro.24088 +2 -0
  24. data/Configs/gpg/.gnupg/gpg-agent.conf +3 -0
  25. data/Configs/gpg/.gnupg/openpgp-revocs.d/DE999E2ACEAE3E8EAD660459688CB4D444FB1024.rev +28 -0
  26. data/Configs/gpg/.gnupg/private-keys-v1.d/0FF407C984AC03CCC60D924C5B315977DF45D5D0.key +7 -0
  27. data/Configs/gpg/.gnupg/private-keys-v1.d/2B711D7C4A8BE25322C9966B73E6842F7E64CD38.key +7 -0
  28. data/Configs/gpg/.gnupg/pubring.kbx +0 -0
  29. data/Configs/gpg/.gnupg/trustdb.gpg +0 -0
  30. data/Configs/kitty/.config/kitty/current-theme.conf +80 -0
  31. data/Configs/kitty/.config/kitty/kitty.conf +93 -0
  32. data/Configs/nvim/.config/nvim/.stylua.toml +6 -0
  33. data/Configs/nvim/.config/nvim/README.md +9 -0
  34. data/Configs/nvim/.config/nvim/init.lua +37 -0
  35. data/Configs/nvim/.config/nvim/lazy-lock.json +29 -0
  36. data/Configs/nvim/.config/nvim/lua/chadrc.lua +17 -0
  37. data/Configs/nvim/.config/nvim/lua/configs/conform.lua +15 -0
  38. data/Configs/nvim/.config/nvim/lua/configs/lazy.lua +47 -0
  39. data/Configs/nvim/.config/nvim/lua/configs/lspconfig.lua +24 -0
  40. data/Configs/nvim/.config/nvim/lua/configs/null_ls.lua +27 -0
  41. data/Configs/nvim/.config/nvim/lua/mappings.lua +10 -0
  42. data/Configs/nvim/.config/nvim/lua/options.lua +6 -0
  43. data/Configs/nvim/.config/nvim/lua/plugins/init.lua +25 -0
  44. data/Configs/oh-my-posh/.config/oh-my-posh/theme/config.json +71 -0
  45. data/Configs/pip/.config/pip/pip.conf +3 -0
  46. data/Configs/python/.pythonrc +25 -0
  47. data/Configs/starship/.config/starship/starship.toml +134 -0
  48. data/Configs/starship/.config/starship/themes/frappe.toml +27 -0
  49. data/Configs/starship/.config/starship/themes/latte.toml +27 -0
  50. data/Configs/starship/.config/starship/themes/macchiato.toml +27 -0
  51. data/Configs/starship/.config/starship/themes/mocha.toml +27 -0
  52. data/Configs/tmux/.tmux.conf +21 -0
  53. data/Configs/wezterm/.config/wezterm/core/colors.lua +10 -0
  54. data/Configs/wezterm/.config/wezterm/core/font.lua +5 -0
  55. data/Configs/wezterm/.config/wezterm/core/helper.lua +22 -0
  56. data/Configs/wezterm/.config/wezterm/core/init.lua +20 -0
  57. data/Configs/wezterm/.config/wezterm/core/keybindings/init.lua +16 -0
  58. data/Configs/wezterm/.config/wezterm/core/keybindings/macos.lua +106 -0
  59. data/Configs/wezterm/.config/wezterm/core/keybindings/windows.lua +99 -0
  60. data/Configs/wezterm/.config/wezterm/core/launch.lua +41 -0
  61. data/Configs/wezterm/.config/wezterm/core/maximized.lua +5 -0
  62. data/Configs/wezterm/.config/wezterm/core/mousebindings.lua +23 -0
  63. data/Configs/wezterm/.config/wezterm/core/tab_title.lua +26 -0
  64. data/Configs/wezterm/.config/wezterm/core/window.lua +8 -0
  65. data/Configs/wezterm/.config/wezterm/wezterm.lua +83 -0
  66. data/Configs/zellij/.config/zellij/config.kdl +410 -0
  67. data/Configs/zellij/.config/zellij/layouts/default.kdl +159 -0
  68. data/Configs/zellij/.config/zellij/plugins/room.wasm +0 -0
  69. data/Configs/zellij/.config/zellij/plugins/zjstatus.wasm +0 -0
  70. data/Configs/zsh/.hushlogin +0 -0
  71. data/Configs/zsh/.localrc +42 -0
  72. data/Configs/zsh/.profile +3 -0
  73. data/Configs/zsh/.shellcheckrc +1 -0
  74. data/Configs/zsh/.zprofile +3 -0
  75. data/Configs/zsh/.zsh/autoload/backup_restore +84 -0
  76. data/Configs/zsh/.zsh/autoload/cat +8 -0
  77. data/Configs/zsh/.zsh/autoload/change_wallpaper +1 -0
  78. data/Configs/zsh/.zsh/autoload/clean_dstore +6 -0
  79. data/Configs/zsh/.zsh/autoload/clean_pycache +6 -0
  80. data/Configs/zsh/.zsh/autoload/convert_mkv_to_mp4 +14 -0
  81. data/Configs/zsh/.zsh/autoload/create_macos_installer +26 -0
  82. data/Configs/zsh/.zsh/autoload/download +71 -0
  83. data/Configs/zsh/.zsh/autoload/fail +2 -0
  84. data/Configs/zsh/.zsh/autoload/flush_dns +6 -0
  85. data/Configs/zsh/.zsh/autoload/info +1 -0
  86. data/Configs/zsh/.zsh/autoload/ls +8 -0
  87. data/Configs/zsh/.zsh/autoload/reset_beyond_compare +15 -0
  88. data/Configs/zsh/.zsh/autoload/reset_final_cut_pro +5 -0
  89. data/Configs/zsh/.zsh/autoload/reset_launch_pad +3 -0
  90. data/Configs/zsh/.zsh/autoload/reset_open_list +3 -0
  91. data/Configs/zsh/.zsh/autoload/speedup_terminal +6 -0
  92. data/Configs/zsh/.zsh/autoload/start_aria2_server +1 -0
  93. data/Configs/zsh/.zsh/autoload/success +1 -0
  94. data/Configs/zsh/.zsh/autoload/update_system +19 -0
  95. data/Configs/zsh/.zsh/autoload/user +1 -0
  96. data/Configs/zsh/.zsh/autoload/vim +9 -0
  97. data/Configs/zsh/.zsh/autoload/warn +1 -0
  98. data/Configs/zsh/.zsh/completion/aliases.zsh +3 -0
  99. data/Configs/zsh/.zsh/completion/completion.zsh +33 -0
  100. data/Configs/zsh/.zsh/completion/config.zsh +118 -0
  101. data/Configs/zsh/.zsh/completion/exports.zsh +108 -0
  102. data/Configs/zsh/.zsh/completion/fpath.zsh +8 -0
  103. data/Configs/zsh/.zsh_history +283 -0
  104. data/Configs/zsh/.zshenv +2 -0
  105. data/Configs/zsh/.zshrc +54 -0
  106. data/Gemfile +3 -0
  107. data/Gemfile.lock +87 -0
  108. data/Hooks/adguard/pre.rb +7 -0
  109. data/Hooks/aerospace/pre.rb +8 -0
  110. data/Hooks/aide/post.rb +7 -0
  111. data/Hooks/aide/pre.rb +7 -0
  112. data/Hooks/alacritty/pre.rb +7 -0
  113. data/Hooks/alfred/pre.rb +7 -0
  114. data/Hooks/atuin/post.rb +27 -0
  115. data/Hooks/atuin/pre.rb +7 -0
  116. data/Hooks/bartender/pre.rb +7 -0
  117. data/Hooks/bun/pre.rb +7 -0
  118. data/Hooks/carapace/pre.rb +7 -0
  119. data/Hooks/cargo/pre.rb +7 -0
  120. data/Hooks/choosy/pre.rb +7 -0
  121. data/Hooks/controld/pre.rb +7 -0
  122. data/Hooks/core/common.rb +36 -0
  123. data/Hooks/core/final.rb +23 -0
  124. data/Hooks/core/lib/configurator.rb +593 -0
  125. data/Hooks/core/lib/display.rb +120 -0
  126. data/Hooks/core/lib/hook_config.rb +96 -0
  127. data/Hooks/core/lib/hook_context.rb +124 -0
  128. data/Hooks/core/lib/hooks.rb +45 -0
  129. data/Hooks/core/lib/logger.rb +23 -0
  130. data/Hooks/core/lib/menu.rb +70 -0
  131. data/Hooks/core/lib/spinner.rb +50 -0
  132. data/Hooks/core/lib/system.rb +78 -0
  133. data/Hooks/core/lib/tweaks.rb +59 -0
  134. data/Hooks/core/library.rb +3 -0
  135. data/Hooks/core/pre.rb +17 -0
  136. data/Hooks/ctrld/pre.rb +7 -0
  137. data/Hooks/deskpad/pre.rb +7 -0
  138. data/Hooks/fonts/pre.rb +60 -0
  139. data/Hooks/ghostty/pre.rb +10 -0
  140. data/Hooks/git/post.rb +20 -0
  141. data/Hooks/git/pre.rb +7 -0
  142. data/Hooks/gpg/post.rb +16 -0
  143. data/Hooks/gpg/pre.rb +7 -0
  144. data/Hooks/ice-hidemenubar/pre.rb +7 -0
  145. data/Hooks/iterm/IC Green PPL.itermcolors +344 -0
  146. data/Hooks/iterm/chalkboard.webp +0 -0
  147. data/Hooks/iterm/com.googlecode.iterm2.plist +2371 -0
  148. data/Hooks/iterm/post.rb +7 -0
  149. data/Hooks/iterm/pre.rb +7 -0
  150. data/Hooks/jujutsu/post.rb +13 -0
  151. data/Hooks/jujutsu/pre.rb +7 -0
  152. data/Hooks/keka/pre.rb +7 -0
  153. data/Hooks/kitty/pre.rb +7 -0
  154. data/Hooks/lazyvim/pre.rb +7 -0
  155. data/Hooks/lima/pre.rb +7 -0
  156. data/Hooks/little-snitch/pre.rb +7 -0
  157. data/Hooks/microsoft-edge/pre.rb +7 -0
  158. data/Hooks/mos/pre.rb +7 -0
  159. data/Hooks/nvchad/pre.rb +7 -0
  160. data/Hooks/oh-my-posh/config.json +58 -0
  161. data/Hooks/oh-my-posh/post.rb +7 -0
  162. data/Hooks/oh-my-posh/pre.rb +7 -0
  163. data/Hooks/pearcleaner/pre.rb +7 -0
  164. data/Hooks/pycharm/pre.rb +7 -0
  165. data/Hooks/raindropio/pre.rb +7 -0
  166. data/Hooks/rectangle/RectangleConfig.json +258 -0
  167. data/Hooks/rectangle/com.knollsoft.Rectangle.plist +0 -0
  168. data/Hooks/rectangle/post.rb +22 -0
  169. data/Hooks/rectangle/pre.rb +7 -0
  170. data/Hooks/slack/pre.rb +7 -0
  171. data/Hooks/soundsource/pre.rb +7 -0
  172. data/Hooks/ssh/post.rb +8 -0
  173. data/Hooks/starship/pre.rb +7 -0
  174. data/Hooks/sublime_text/post.rb +25 -0
  175. data/Hooks/sublime_text/pre.rb +7 -0
  176. data/Hooks/swiftformat-for-xcode/pre.rb +7 -0
  177. data/Hooks/syncthing/pre.rb +7 -0
  178. data/Hooks/synology/pre.rb +7 -0
  179. data/Hooks/tailscale/pre.rb +7 -0
  180. data/Hooks/tmux/post.rb +7 -0
  181. data/Hooks/tmux/pre.rb +7 -0
  182. data/Hooks/topnotch/pre.rb +7 -0
  183. data/Hooks/transmission/pre.rb +7 -0
  184. data/Hooks/vscode/extensions.txt +16 -0
  185. data/Hooks/vscode/keybindings.json +26 -0
  186. data/Hooks/vscode/post.rb +29 -0
  187. data/Hooks/vscode/pre.rb +9 -0
  188. data/Hooks/vscode/settings.json +139 -0
  189. data/Hooks/vscode/style.css +29 -0
  190. data/Hooks/wezterm/pre.rb +7 -0
  191. data/Hooks/wins/pre.rb +7 -0
  192. data/Hooks/zed/pre.rb +7 -0
  193. data/Hooks/zellij/post.rb +7 -0
  194. data/Hooks/zellij/pre.rb +7 -0
  195. data/Hooks/zoxide/pre.rb +7 -0
  196. data/Hooks/zsh/pre.rb +19 -0
  197. data/LICENSE +21 -0
  198. data/README.md +100 -0
  199. data/bin/dotfiles-tui +6 -0
  200. data/bootstrap.rb +186 -0
  201. data/dotfiles-tui.gemspec +47 -0
  202. data/lib/dotfiles_tui/version.rb +5 -0
  203. data/lib/dotfiles_tui.rb +15 -0
  204. metadata +275 -0
@@ -0,0 +1,410 @@
1
+ // If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
2
+ ui {
3
+ pane_frames {
4
+ rounded_corners true
5
+ hide_session_name true
6
+ }
7
+ }
8
+
9
+ keybinds {
10
+ normal {
11
+ // uncomment this and adjust key if using copy_on_select=false
12
+ // bind "Alt c" { Copy; }
13
+ bind "Ctrl g" { SwitchToMode "locked"; }
14
+ bind "Ctrl l" { Clear; }
15
+ }
16
+ locked {
17
+ bind "Ctrl g" { SwitchToMode "Normal"; }
18
+ }
19
+ resize {
20
+ bind "Ctrl n" { SwitchToMode "Normal"; }
21
+ bind "h" "Left" { Resize "Increase Left"; }
22
+ bind "j" "Down" { Resize "Increase Down"; }
23
+ bind "k" "Up" { Resize "Increase Up"; }
24
+ bind "l" "Right" { Resize "Increase Right"; }
25
+ bind "H" { Resize "Decrease Left"; }
26
+ bind "J" { Resize "Decrease Down"; }
27
+ bind "K" { Resize "Decrease Up"; }
28
+ bind "L" { Resize "Decrease Right"; }
29
+ bind "=" "+" { Resize "Increase"; }
30
+ bind "-" { Resize "Decrease"; }
31
+ }
32
+ pane {
33
+ bind "Ctrl l" { Clear; }
34
+ bind "Ctrl p" { SwitchToMode "Normal"; }
35
+ bind "h" "Left" { MoveFocus "Left"; }
36
+ bind "l" "Right" { MoveFocus "Right"; }
37
+ bind "j" "Down" { MoveFocus "Down"; }
38
+ bind "k" "Up" { MoveFocus "Up"; }
39
+ bind "p" { SwitchFocus; }
40
+ bind "n" { NewPane; SwitchToMode "Normal"; }
41
+ bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
42
+ bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
43
+ bind "x" { CloseFocus; SwitchToMode "Normal"; }
44
+ bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
45
+ bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
46
+ bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
47
+ bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
48
+ bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
49
+ }
50
+ move {
51
+ bind "Ctrl h" { SwitchToMode "Normal"; }
52
+ bind "n" "Tab" { MovePane; }
53
+ bind "p" { MovePaneBackwards; }
54
+ bind "h" "Left" { MovePane "Left"; }
55
+ bind "j" "Down" { MovePane "Down"; }
56
+ bind "k" "Up" { MovePane "Up"; }
57
+ bind "l" "Right" { MovePane "Right"; }
58
+ }
59
+ tab {
60
+ bind "Ctrl t" { SwitchToMode "Normal"; }
61
+ bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
62
+ bind "h" "Left" "Up" "k" { GoToPreviousTab; }
63
+ bind "l" "Right" "Down" "j" { GoToNextTab; }
64
+ bind "n" { NewTab; SwitchToMode "Normal"; }
65
+ bind "x" { CloseTab; SwitchToMode "Normal"; }
66
+ bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
67
+ bind "b" { BreakPane; SwitchToMode "Normal"; }
68
+ bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
69
+ bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
70
+ bind "1" { GoToTab 1; SwitchToMode "Normal"; }
71
+ bind "2" { GoToTab 2; SwitchToMode "Normal"; }
72
+ bind "3" { GoToTab 3; SwitchToMode "Normal"; }
73
+ bind "4" { GoToTab 4; SwitchToMode "Normal"; }
74
+ bind "5" { GoToTab 5; SwitchToMode "Normal"; }
75
+ bind "6" { GoToTab 6; SwitchToMode "Normal"; }
76
+ bind "7" { GoToTab 7; SwitchToMode "Normal"; }
77
+ bind "8" { GoToTab 8; SwitchToMode "Normal"; }
78
+ bind "9" { GoToTab 9; SwitchToMode "Normal"; }
79
+ bind "Tab" { ToggleTab; }
80
+ }
81
+ scroll {
82
+ bind "Ctrl s" { SwitchToMode "Normal"; }
83
+ bind "e" { EditScrollback; SwitchToMode "Normal"; }
84
+ bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
85
+ bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
86
+ bind "j" "Down" { ScrollDown; }
87
+ bind "k" "Up" { ScrollUp; }
88
+ bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
89
+ bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
90
+ bind "d" { HalfPageScrollDown; }
91
+ bind "u" { HalfPageScrollUp; }
92
+ // uncomment this and adjust key if using copy_on_select=false
93
+ // bind "Alt c" { Copy; }
94
+ }
95
+ search {
96
+ bind "Ctrl s" { SwitchToMode "Normal"; }
97
+ bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
98
+ bind "j" "Down" { ScrollDown; }
99
+ bind "k" "Up" { ScrollUp; }
100
+ bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
101
+ bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
102
+ bind "d" { HalfPageScrollDown; }
103
+ bind "u" { HalfPageScrollUp; }
104
+ bind "n" { Search "down"; }
105
+ bind "p" { Search "up"; }
106
+ bind "c" { SearchToggleOption "CaseSensitivity"; }
107
+ bind "w" { SearchToggleOption "Wrap"; }
108
+ bind "o" { SearchToggleOption "WholeWord"; }
109
+ }
110
+ entersearch {
111
+ bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
112
+ bind "Enter" { SwitchToMode "Search"; }
113
+ }
114
+ renametab {
115
+ bind "Ctrl c" { SwitchToMode "Normal"; }
116
+ bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
117
+ }
118
+ renamepane {
119
+ bind "Ctrl c" { SwitchToMode "Normal"; }
120
+ bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
121
+ }
122
+ session {
123
+ bind "Ctrl o" { SwitchToMode "Normal"; }
124
+ bind "Ctrl s" { SwitchToMode "Scroll"; }
125
+ bind "d" { Detach; }
126
+ bind "w" {
127
+ LaunchOrFocusPlugin "session-manager" {
128
+ floating true
129
+ move_to_focused_tab true
130
+ };
131
+ SwitchToMode "Normal"
132
+ }
133
+ }
134
+ tmux {
135
+ bind "[" { SwitchToMode "Scroll"; }
136
+ bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
137
+ bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
138
+ bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
139
+ bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
140
+ bind "c" { NewTab; SwitchToMode "Normal"; }
141
+ bind "," { SwitchToMode "RenameTab"; }
142
+ bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
143
+ bind "n" { GoToNextTab; SwitchToMode "Normal"; }
144
+ bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
145
+ bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
146
+ bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
147
+ bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
148
+ bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
149
+ bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
150
+ bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
151
+ bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
152
+ bind "o" { FocusNextPane; }
153
+ bind "d" { Detach; }
154
+ bind "Space" { NextSwapLayout; }
155
+ bind "x" { CloseFocus; SwitchToMode "Normal"; }
156
+ }
157
+ shared_except "locked" {
158
+ bind "Ctrl g" { SwitchToMode "Locked"; }
159
+ bind "Ctrl q" { Quit; }
160
+ bind "Alt n" { NewPane; }
161
+ bind "Alt i" { MoveTab "Left"; }
162
+ bind "Alt o" { MoveTab "Right"; }
163
+ bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
164
+ bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
165
+ bind "Alt j" "Alt Down" { MoveFocus "Down"; }
166
+ bind "Alt k" "Alt Up" { MoveFocus "Up"; }
167
+ bind "Alt =" "Alt +" { Resize "Increase"; }
168
+ bind "Alt -" { Resize "Decrease"; }
169
+ bind "Alt [" { PreviousSwapLayout; }
170
+ bind "Alt ]" { NextSwapLayout; }
171
+ }
172
+ shared_except "normal" "locked" {
173
+ bind "Enter" "Esc" { SwitchToMode "Normal"; }
174
+ }
175
+ shared_except "pane" "locked" {
176
+ bind "Ctrl p" { SwitchToMode "Pane"; }
177
+ }
178
+ shared_except "resize" "locked" {
179
+ bind "Ctrl n" { SwitchToMode "Resize"; }
180
+ }
181
+ shared_except "scroll" "locked" {
182
+ bind "Ctrl s" { SwitchToMode "Scroll"; }
183
+ }
184
+ shared_except "session" "locked" {
185
+ bind "Ctrl o" { SwitchToMode "Session"; }
186
+ }
187
+ shared_except "tab" "locked" {
188
+ bind "Ctrl t" { SwitchToMode "Tab"; }
189
+ }
190
+ shared_except "move" "locked" {
191
+ bind "Ctrl h" { SwitchToMode "Move"; }
192
+ }
193
+ shared_except "tmux" "locked" {
194
+ bind "Ctrl b" { SwitchToMode "Tmux"; }
195
+ }
196
+ shared_except "locked" {
197
+ bind "Ctrl y" {
198
+ LaunchOrFocusPlugin "file:~/.config/zellij/plugins/room.wasm" {
199
+ floating true
200
+ ignore_case true
201
+ quick_jump true
202
+ }
203
+ }
204
+ }
205
+ }
206
+
207
+ plugins {
208
+ tab-bar location="zellij:tab-bar"
209
+ status-bar location="zellij:status-bar"
210
+ strider location="zellij:strider"
211
+ compact-bar location="zellij:compact-bar"
212
+ session-manager location="zellij:session-manager"
213
+ welcome-screen location="zellij:session-manager" {
214
+ welcome_screen true
215
+ }
216
+ filepicker location="zellij:strider" {
217
+ cwd "/"
218
+ }
219
+ }
220
+
221
+ // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
222
+ // eg. when terminal window with an active zellij session is closed
223
+ // Options:
224
+ // - detach (Default)
225
+ // - quit
226
+ //
227
+ on_force_close "quit"
228
+
229
+ // Send a request for a simplified ui (without arrow fonts) to plugins
230
+ // Options:
231
+ // - true
232
+ // - false (Default)
233
+ //
234
+ // simplified_ui true
235
+
236
+ // Choose the path to the default shell that zellij will use for opening new panes
237
+ // Default: $SHELL
238
+ //
239
+ // default_shell "zsh"
240
+
241
+ // Choose the path to override cwd that zellij will use for opening new panes
242
+ //
243
+ // default_cwd ""
244
+
245
+ // Toggle between having pane frames around the panes
246
+ // Options:
247
+ // - true (default)
248
+ // - false
249
+ //
250
+ // pane_frames true
251
+
252
+ // Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
253
+ // Options:
254
+ // - true (default)
255
+ // - false
256
+ //
257
+ // auto_layout true
258
+
259
+ // Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
260
+ // Options:
261
+ // - true (default)
262
+ // - false
263
+ //
264
+ // session_serialization false
265
+
266
+ // Whether pane viewports are serialized along with the session, default is false
267
+ // Options:
268
+ // - true
269
+ // - false (default)
270
+ // serialize_pane_viewport true
271
+
272
+ // Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
273
+ // defaults to the scrollback size. If this number is higher than the scrollback size, it will
274
+ // also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
275
+ //
276
+ // scrollback_lines_to_serialize 10000
277
+
278
+ // Define color themes for Zellij
279
+ // For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
280
+ // Once these themes are defined, one of them should to be selected in the "theme" section of this file
281
+ //
282
+ themes {
283
+ dracula {
284
+ fg 248 248 242
285
+ bg 40 42 54
286
+ red 255 85 85
287
+ green 80 250 123
288
+ yellow 241 250 140
289
+ blue 98 114 164
290
+ magenta 255 121 198
291
+ orange 255 184 108
292
+ cyan 139 233 253
293
+ black 0 0 0
294
+ white 255 255 255
295
+ }
296
+ nord {
297
+ fg 216 222 233 // #D8DEE9
298
+ bg 46 52 64 // #2E3440
299
+ black 59 66 82 // #3B4252
300
+ red 191 97 106 // #BF616A
301
+ green 163 190 140 // #A3BE8C
302
+ yellow 235 203 139 // #EBCB8B
303
+ blue 129 161 193 // #81A1C1
304
+ magenta 180 142 173 // #B48EAD
305
+ cyan 136 192 208 // #88C0D0
306
+ white 229 233 240 // #E5E9F0
307
+ orange 208 135 112 // #D08770
308
+ }
309
+ tokyo-night-dark {
310
+ fg 169 177 214
311
+ bg 26 27 38
312
+ black 56 62 90
313
+ red 249 51 87
314
+ green 158 206 106
315
+ yellow 224 175 104
316
+ blue 122 162 247
317
+ magenta 187 154 247
318
+ cyan 42 195 222
319
+ white 192 202 245
320
+ orange 255 158 100
321
+ }
322
+ }
323
+
324
+ // Choose the theme that is specified in the themes section.
325
+ // Default: default
326
+ //
327
+ theme "nord"
328
+
329
+ // The name of the default layout to load on startup
330
+ // Default: "default"
331
+ //
332
+ default_layout "default"
333
+
334
+ // Choose the mode that zellij uses when starting up.
335
+ // Default: normal
336
+ //
337
+ // default_mode "locked"
338
+
339
+ // Toggle enabling the mouse mode.
340
+ // On certain configurations, or terminals this could
341
+ // potentially interfere with copying text.
342
+ // Options:
343
+ // - true (default)
344
+ // - false
345
+ //
346
+ mouse_mode false
347
+
348
+ // Configure the scroll back buffer size
349
+ // This is the number of lines zellij stores for each pane in the scroll back
350
+ // buffer. Excess number of lines are discarded in a FIFO fashion.
351
+ // Valid values: positive integers
352
+ // Default value: 10000
353
+ //
354
+ scroll_buffer_size 1000000
355
+
356
+ // Provide a command to execute when copying text. The text will be piped to
357
+ // the stdin of the program to perform the copy. This can be used with
358
+ // terminal emulators which do not support the OSC 52 ANSI control sequence
359
+ // that will be used by default if this option is not set.
360
+ // Examples:
361
+ //
362
+ // copy_command "xclip -selection clipboard" // x11
363
+ // copy_command "wl-copy" // wayland
364
+ copy_command "pbcopy" // osx
365
+
366
+ // Choose the destination for copied text
367
+ // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
368
+ // Does not apply when using copy_command.
369
+ // Options:
370
+ // - system (default)
371
+ // - primary
372
+ //
373
+ // copy_clipboard "primary"
374
+
375
+ // Enable or disable automatic copy (and clear) of selection when releasing mouse
376
+ // Default: true
377
+ //
378
+ copy_on_select false
379
+
380
+ // Path to the default editor to use to edit pane scrollbuffer
381
+ // Default: $EDITOR or $VISUAL
382
+ //
383
+ // scrollback_editor "/usr/bin/vim"
384
+
385
+ // When attaching to an existing session with other users,
386
+ // should the session be mirrored (true)
387
+ // or should each user have their own cursor (false)
388
+ // Default: false
389
+ //
390
+ // mirror_session true
391
+
392
+ // The folder in which Zellij will look for layouts
393
+ //
394
+ layout_dir "/Users/narender/.config/zellij/layouts"
395
+
396
+ // The folder in which Zellij will look for themes
397
+ //
398
+ // theme_dir "/path/to/my/theme_dir"
399
+
400
+ // Enable or disable the rendering of styled and colored underlines (undercurl).
401
+ // May need to be disabled for certain unsupported terminals
402
+ // Default: true
403
+ //
404
+ // styled_underlines false
405
+
406
+ // Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
407
+ // metadata info on this session)
408
+ // Default: false
409
+ //
410
+ // disable_session_metadata true
@@ -0,0 +1,159 @@
1
+ layout {
2
+ swap_tiled_layout name="vertical" {
3
+ tab max_panes=5 {
4
+ pane split_direction="vertical" {
5
+ pane
6
+ pane { children; }
7
+ }
8
+ }
9
+ tab max_panes=8 {
10
+ pane split_direction="vertical" {
11
+ pane { children; }
12
+ pane { pane; pane; pane; pane; }
13
+ }
14
+ }
15
+ tab max_panes=12 {
16
+ pane split_direction="vertical" {
17
+ pane { children; }
18
+ pane { pane; pane; pane; pane; }
19
+ pane { pane; pane; pane; pane; }
20
+ }
21
+ }
22
+ }
23
+
24
+ swap_tiled_layout name="horizontal" {
25
+ tab max_panes=5 {
26
+ pane
27
+ pane
28
+ }
29
+ tab max_panes=8 {
30
+ pane {
31
+ pane split_direction="vertical" { children; }
32
+ pane split_direction="vertical" { pane; pane; pane; pane; }
33
+ }
34
+ }
35
+ tab max_panes=12 {
36
+ pane {
37
+ pane split_direction="vertical" { children; }
38
+ pane split_direction="vertical" { pane; pane; pane; pane; }
39
+ pane split_direction="vertical" { pane; pane; pane; pane; }
40
+ }
41
+ }
42
+ }
43
+
44
+ swap_tiled_layout name="stacked" {
45
+ tab min_panes=5 {
46
+ pane split_direction="vertical" {
47
+ pane
48
+ pane stacked=true { children; }
49
+ }
50
+ }
51
+ }
52
+
53
+ swap_floating_layout name="staggered" {
54
+ floating_panes
55
+ }
56
+
57
+ swap_floating_layout name="enlarged" {
58
+ floating_panes max_panes=10 {
59
+ pane { x "5%"; y 1; width "90%"; height "90%"; }
60
+ pane { x "5%"; y 2; width "90%"; height "90%"; }
61
+ pane { x "5%"; y 3; width "90%"; height "90%"; }
62
+ pane { x "5%"; y 4; width "90%"; height "90%"; }
63
+ pane { x "5%"; y 5; width "90%"; height "90%"; }
64
+ pane { x "5%"; y 6; width "90%"; height "90%"; }
65
+ pane { x "5%"; y 7; width "90%"; height "90%"; }
66
+ pane { x "5%"; y 8; width "90%"; height "90%"; }
67
+ pane { x "5%"; y 9; width "90%"; height "90%"; }
68
+ pane focus=true { x 10; y 10; width "90%"; height "90%"; }
69
+ }
70
+ }
71
+
72
+ swap_floating_layout name="spread" {
73
+ floating_panes max_panes=1 {
74
+ pane {y "50%"; x "50%"; }
75
+ }
76
+ floating_panes max_panes=2 {
77
+ pane { x "1%"; y "25%"; width "45%"; }
78
+ pane { x "50%"; y "25%"; width "45%"; }
79
+ }
80
+ floating_panes max_panes=3 {
81
+ pane focus=true { y "55%"; width "45%"; height "45%"; }
82
+ pane { x "1%"; y "1%"; width "45%"; }
83
+ pane { x "50%"; y "1%"; width "45%"; }
84
+ }
85
+ floating_panes max_panes=4 {
86
+ pane { x "1%"; y "55%"; width "45%"; height "45%"; }
87
+ pane focus=true { x "50%"; y "55%"; width "45%"; height "45%"; }
88
+ pane { x "1%"; y "1%"; width "45%"; height "45%"; }
89
+ pane { x "50%"; y "1%"; width "45%"; height "45%"; }
90
+ }
91
+ }
92
+
93
+ default_tab_template {
94
+ pane size=1 borderless=true {
95
+ plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" {
96
+ format_left "#[bg=#181926] {tabs}"
97
+ format_center ""
98
+ format_right "#[bg=#181926,fg=#89b4fa]#[bg=#89b4fa,fg=#1e2030,bold] #[bg=#363a4f,fg=#89b4fa,bold]{mode}#[bg=#181926,fg=#363a4f,bold]"
99
+
100
+ format_space "#[bg=#181926]"
101
+ format_hide_on_overlength "true"
102
+ format_precedence "crl"
103
+
104
+ border_enabled "false"
105
+ border_char "─"
106
+ border_format "#[fg=#6C7086]{char}"
107
+ border_position "top"
108
+
109
+ hide_frame_for_single_pane "true"
110
+
111
+ mode_normal "#[bg=#a6da95,fg=#181926,bold] Normal#[bg=#181926,fg=#a6da95]"
112
+ mode_locked "#[bg=#6e738d,fg=#181926,bold] Locked #[bg=#181926,fg=#6e738d]"
113
+ mode_resize "#[bg=#8aadf4,fg=#181926,bold] Resize#[bg=#181926,fg=#8aadf4]"
114
+ mode_pane "#[bg=#8aadf4,fg=#181926,bold] Pane#[bg=#181926,fg=#8aadf4]"
115
+ mode_tab "#[bg=#8aadf4,fg=#181926,bold] Tab#[bg=#181926,fg=#8aadf4]"
116
+ mode_scroll "#[bg=#8aadf4,fg=#181926,bold] Scroll#[bg=#181926,fg=#8aadf4]"
117
+ mode_enter_search "#[bg=#8aadf4,fg=#181926,bold] Ent-search#[bg=#181926,fg=#8aadf4]"
118
+ mode_search "#[bg=#8aadf4,fg=#181926,bold] Searcharch#[bg=#181926,fg=#8aadf4]"
119
+ mode_rename_tab "#[bg=#8aadf4,fg=#181926,bold] Rename-tab#[bg=#181926,fg=#8aadf4]"
120
+ mode_rename_pane "#[bg=#8aadf4,fg=#181926,bold] Rename-pane#[bg=#181926,fg=#8aadf4]"
121
+ mode_session "#[bg=#8aadf4,fg=#181926,bold] Session#[bg=#181926,fg=#8aadf4]"
122
+ mode_move "#[bg=#8aadf4,fg=#181926,bold] Move#[bg=#181926,fg=#8aadf4]"
123
+ mode_prompt "#[bg=#8aadf4,fg=#181926,bold] Prompt#[bg=#181926,fg=#8aadf4]"
124
+ mode_tmux "#[bg=#f5a97f,fg=#181926,bold] Tmux#[bg=#181926,fg=#f5a97f]"
125
+
126
+ // formatting for inactive tabs
127
+ tab_normal "#[bg=#181926,fg=#8bd5ca]#[bg=#8bd5ca,fg=#1e2030,bold]{index} #[bg=#363a4f,fg=#8bd5ca,bold] {name}{floating_indicator}#[bg=#181926,fg=#363a4f,bold]"
128
+ tab_normal_fullscreen "#[bg=#181926,fg=#8bd5ca]#[bg=#8bd5ca,fg=#1e2030,bold]{index} #[bg=#363a4f,fg=#8bd5ca,bold] {name}{fullscreen_indicator}#[bg=#181926,fg=#363a4f,bold]"
129
+ tab_normal_sync "#[bg=#181926,fg=#8bd5ca]#[bg=#8bd5ca,fg=#1e2030,bold]{index} #[bg=#363a4f,fg=#8bd5ca,bold] {name}{sync_indicator}#[bg=#181926,fg=#363a4f,bold]"
130
+
131
+ // formatting for the current active tab
132
+ tab_active "#[bg=#181926,fg=#eed49f]#[bg=#eed49f,fg=#1e2030,bold]{index} #[bg=#363a4f,fg=#eed49f,bold] {name}{floating_indicator}#[bg=#181926,fg=#363a4f,bold]"
133
+ tab_active_fullscreen "#[bg=#181926,fg=#eed49f]#[bg=#eed49f,fg=#1e2030,bold]{index} #[bg=#363a4f,fg=#eed49f,bold] {name}{fullscreen_indicator}#[bg=#181926,fg=#363a4f,bold]"
134
+ tab_active_sync "#[bg=#181926,fg=#eed49f]#[bg=#eed49f,fg=#1e2030,bold]{index} #[bg=#363a4f,fg=#eed49f,bold] {name}{sync_indicator}#[bg=#181926,fg=#363a4f,bold]"
135
+
136
+ // separator between the tabs
137
+ tab_separator "#[bg=#181926] "
138
+
139
+ // indicators
140
+ tab_sync_indicator " "
141
+ tab_fullscreen_indicator " 󰊓"
142
+ tab_floating_indicator " 󰹙"
143
+
144
+ command_git_branch_command "git rev-parse --abbrev-ref HEAD"
145
+ command_git_branch_format "#[fg=blue] {stdout} "
146
+ command_git_branch_interval "10"
147
+ command_git_branch_rendermode "static"
148
+
149
+ datetime "#[fg=#6C7086,bold] {format} "
150
+ datetime_format "%A, %d %b %Y %H:%M"
151
+ datetime_timezone "Europe/Berlin"
152
+ }
153
+ }
154
+ children
155
+ pane size=1 borderless=true {
156
+ plugin location="zellij:status-bar"
157
+ }
158
+ }
159
+ }
File without changes
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ export DOTFILES="${HOME}/.dotfiles"
4
+
5
+ # load fzf
6
+ if [[ -n $(command -v fzf) ]]; then
7
+ eval "$(fzf --zsh)"
8
+ fi
9
+
10
+ # load zoxide
11
+ eval "$(zoxide init --cmd cd zsh)"
12
+
13
+ # load carapace
14
+ # ~/.zshrc
15
+ export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
16
+ zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
17
+ # shellcheck source=/dev/null
18
+ source <(carapace _carapace)
19
+
20
+ # initialize oh-my-posh prompt
21
+ # if [[ -n $(command -v oh-my-posh) ]]; then
22
+ # # if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then
23
+ # eval "$(oh-my-posh init zsh --config "${HOME}"/.config/oh-my-posh/theme/config.json)"
24
+ # # eval "$(oh-my-posh init zsh)"
25
+ # # fi
26
+ # fi
27
+
28
+ # load starship
29
+ [[ -n $(command -v starship) ]] && eval "$(starship init zsh)"
30
+
31
+ # start zellij
32
+ export ZELLIJ_AUTO_ATTACH=false
33
+ export ZELLIJ_AUTO_EXIT=true
34
+ export LAYOUT=${HOME}/.config/zellij/layouts/default.kdl
35
+ # [[ -n $(command -v zellij) ]] && eval "$(zellij setup --generate-auto-start zsh)"
36
+
37
+ # bun completions
38
+ [ -s "/Users/narender/.bun/_bun" ] && source "/Users/narender/.bun/_bun"
39
+
40
+ # bun
41
+ export BUN_INSTALL="$HOME/.bun"
42
+ export PATH="$BUN_INSTALL/bin:$PATH"
@@ -0,0 +1,3 @@
1
+ # shellcheck source=/dev/null
2
+ . "${HOME}/.cargo/env"
3
+ . "$HOME/.cargo/env"
@@ -0,0 +1 @@
1
+ external-sources=false
@@ -0,0 +1,3 @@
1
+ eval "$(/opt/homebrew/bin/brew shellenv)"
2
+ # shellcheck source=/dev/null
3
+ . "${HOME}/.cargo/env"