My dotfiles for Arch Linux

Reapply "Add Zellij again"

This reverts commit 2c4542f51d6c81981bc35edfefa4731dad2e6e93.

+656
+3
dot_config/alacritty/alacritty.toml
··· 3 3 [env] 4 4 TERM = "xterm-256color" 5 5 6 + [terminal.shell] 7 + program = "zellij" 8 + 6 9 [font] 7 10 normal = { family = "FiraCode Nerd Font" } 8 11 bold = { family = "FiraCode Nerd Font" }
+532
dot_config/zellij/config.kdl
··· 1 + keybinds clear-defaults=true { 2 + locked { 3 + bind "Ctrl g" { SwitchToMode "normal"; } 4 + } 5 + pane { 6 + bind "left" { MoveFocus "left"; } 7 + bind "down" { MoveFocus "down"; } 8 + bind "up" { MoveFocus "up"; } 9 + bind "right" { MoveFocus "right"; } 10 + bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; } 11 + bind "d" { NewPane "down"; SwitchToMode "normal"; } 12 + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; } 13 + bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; } 14 + bind "h" { MoveFocus "left"; } 15 + bind "i" { TogglePanePinned; SwitchToMode "normal"; } 16 + bind "j" { MoveFocus "down"; } 17 + bind "k" { MoveFocus "up"; } 18 + bind "l" { MoveFocus "right"; } 19 + bind "n" { NewPane; SwitchToMode "normal"; } 20 + bind "p" { SwitchFocus; } 21 + bind "Ctrl p" { SwitchToMode "normal"; } 22 + bind "r" { NewPane "right"; SwitchToMode "normal"; } 23 + bind "s" { NewPane "stacked"; SwitchToMode "normal"; } 24 + bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; } 25 + bind "z" { TogglePaneFrames; SwitchToMode "normal"; } 26 + } 27 + tab { 28 + bind "left" { GoToPreviousTab; } 29 + bind "down" { GoToNextTab; } 30 + bind "up" { GoToPreviousTab; } 31 + bind "right" { GoToNextTab; } 32 + bind "1" { GoToTab 1; SwitchToMode "normal"; } 33 + bind "2" { GoToTab 2; SwitchToMode "normal"; } 34 + bind "3" { GoToTab 3; SwitchToMode "normal"; } 35 + bind "4" { GoToTab 4; SwitchToMode "normal"; } 36 + bind "5" { GoToTab 5; SwitchToMode "normal"; } 37 + bind "6" { GoToTab 6; SwitchToMode "normal"; } 38 + bind "7" { GoToTab 7; SwitchToMode "normal"; } 39 + bind "8" { GoToTab 8; SwitchToMode "normal"; } 40 + bind "9" { GoToTab 9; SwitchToMode "normal"; } 41 + bind "[" { BreakPaneLeft; SwitchToMode "normal"; } 42 + bind "]" { BreakPaneRight; SwitchToMode "normal"; } 43 + bind "b" { BreakPane; SwitchToMode "normal"; } 44 + bind "h" { GoToPreviousTab; } 45 + bind "j" { GoToNextTab; } 46 + bind "k" { GoToPreviousTab; } 47 + bind "l" { GoToNextTab; } 48 + bind "n" { NewTab; SwitchToMode "normal"; } 49 + bind "r" { SwitchToMode "renametab"; TabNameInput 0; } 50 + bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; } 51 + bind "Ctrl t" { SwitchToMode "normal"; } 52 + bind "x" { CloseTab; SwitchToMode "normal"; } 53 + bind "tab" { ToggleTab; } 54 + } 55 + resize { 56 + bind "left" { Resize "Increase left"; } 57 + bind "down" { Resize "Increase down"; } 58 + bind "up" { Resize "Increase up"; } 59 + bind "right" { Resize "Increase right"; } 60 + bind "+" { Resize "Increase"; } 61 + bind "-" { Resize "Decrease"; } 62 + bind "=" { Resize "Increase"; } 63 + bind "H" { Resize "Decrease left"; } 64 + bind "J" { Resize "Decrease down"; } 65 + bind "K" { Resize "Decrease up"; } 66 + bind "L" { Resize "Decrease right"; } 67 + bind "h" { Resize "Increase left"; } 68 + bind "j" { Resize "Increase down"; } 69 + bind "k" { Resize "Increase up"; } 70 + bind "l" { Resize "Increase right"; } 71 + bind "Ctrl n" { SwitchToMode "normal"; } 72 + } 73 + move { 74 + bind "left" { MovePane "left"; } 75 + bind "down" { MovePane "down"; } 76 + bind "up" { MovePane "up"; } 77 + bind "right" { MovePane "right"; } 78 + bind "h" { MovePane "left"; } 79 + bind "Ctrl h" { SwitchToMode "normal"; } 80 + bind "j" { MovePane "down"; } 81 + bind "k" { MovePane "up"; } 82 + bind "l" { MovePane "right"; } 83 + bind "n" { MovePane; } 84 + bind "p" { MovePaneBackwards; } 85 + bind "tab" { MovePane; } 86 + } 87 + scroll { 88 + bind "e" { EditScrollback; SwitchToMode "normal"; } 89 + bind "s" { SwitchToMode "entersearch"; SearchInput 0; } 90 + } 91 + search { 92 + bind "c" { SearchToggleOption "CaseSensitivity"; } 93 + bind "n" { Search "down"; } 94 + bind "o" { SearchToggleOption "WholeWord"; } 95 + bind "p" { Search "up"; } 96 + bind "w" { SearchToggleOption "Wrap"; } 97 + } 98 + session { 99 + bind "a" { 100 + LaunchOrFocusPlugin "zellij:about" { 101 + floating true 102 + move_to_focused_tab true 103 + } 104 + SwitchToMode "normal" 105 + } 106 + bind "c" { 107 + LaunchOrFocusPlugin "configuration" { 108 + floating true 109 + move_to_focused_tab true 110 + } 111 + SwitchToMode "normal" 112 + } 113 + bind "Ctrl o" { SwitchToMode "normal"; } 114 + bind "p" { 115 + LaunchOrFocusPlugin "plugin-manager" { 116 + floating true 117 + move_to_focused_tab true 118 + } 119 + SwitchToMode "normal" 120 + } 121 + bind "s" { 122 + LaunchOrFocusPlugin "zellij:share" { 123 + floating true 124 + move_to_focused_tab true 125 + } 126 + SwitchToMode "normal" 127 + } 128 + bind "w" { 129 + LaunchOrFocusPlugin "session-manager" { 130 + floating true 131 + move_to_focused_tab true 132 + } 133 + SwitchToMode "normal" 134 + } 135 + } 136 + shared_except "locked" { 137 + bind "Alt left" { MoveFocusOrTab "left"; } 138 + bind "Alt down" { MoveFocus "down"; } 139 + bind "Alt up" { MoveFocus "up"; } 140 + bind "Alt right" { MoveFocusOrTab "right"; } 141 + bind "Alt +" { Resize "Increase"; } 142 + bind "Alt -" { Resize "Decrease"; } 143 + bind "Alt =" { Resize "Increase"; } 144 + bind "Alt [" { PreviousSwapLayout; } 145 + bind "Alt ]" { NextSwapLayout; } 146 + bind "Alt f" { ToggleFloatingPanes; } 147 + bind "Ctrl g" { SwitchToMode "locked"; } 148 + bind "Alt h" { MoveFocusOrTab "left"; } 149 + bind "Alt i" { MoveTab "left"; } 150 + bind "Alt j" { MoveFocus "down"; } 151 + bind "Alt k" { MoveFocus "up"; } 152 + bind "Alt l" { MoveFocusOrTab "right"; } 153 + bind "Alt n" { NewPane; } 154 + bind "Alt o" { MoveTab "right"; } 155 + bind "Alt p" { TogglePaneInGroup; } 156 + bind "Alt Shift p" { ToggleGroupMarking; } 157 + bind "Ctrl q" { Quit; } 158 + } 159 + shared_except "locked" "move" { 160 + bind "Ctrl h" { SwitchToMode "move"; } 161 + } 162 + shared_except "locked" "session" { 163 + bind "Ctrl o" { SwitchToMode "session"; } 164 + } 165 + shared_except "locked" "scroll" "search" "tmux" { 166 + bind "Ctrl b" { SwitchToMode "tmux"; } 167 + } 168 + shared_except "locked" "scroll" "search" { 169 + bind "Ctrl s" { SwitchToMode "scroll"; } 170 + } 171 + shared_except "locked" "tab" { 172 + bind "Ctrl t" { SwitchToMode "tab"; } 173 + } 174 + shared_except "locked" "pane" { 175 + bind "Ctrl p" { SwitchToMode "pane"; } 176 + } 177 + shared_except "locked" "resize" { 178 + bind "Ctrl n" { SwitchToMode "resize"; } 179 + } 180 + shared_except "normal" "locked" "entersearch" { 181 + bind "enter" { SwitchToMode "normal"; } 182 + } 183 + shared_except "normal" "locked" "entersearch" "renametab" "renamepane" { 184 + bind "esc" { SwitchToMode "normal"; } 185 + } 186 + shared_among "pane" "tmux" { 187 + bind "x" { CloseFocus; SwitchToMode "normal"; } 188 + } 189 + shared_among "scroll" "search" { 190 + bind "PageDown" { PageScrollDown; } 191 + bind "PageUp" { PageScrollUp; } 192 + bind "left" { PageScrollUp; } 193 + bind "down" { ScrollDown; } 194 + bind "up" { ScrollUp; } 195 + bind "right" { PageScrollDown; } 196 + bind "Ctrl b" { PageScrollUp; } 197 + bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; } 198 + bind "d" { HalfPageScrollDown; } 199 + bind "Ctrl f" { PageScrollDown; } 200 + bind "h" { PageScrollUp; } 201 + bind "j" { ScrollDown; } 202 + bind "k" { ScrollUp; } 203 + bind "l" { PageScrollDown; } 204 + bind "Ctrl s" { SwitchToMode "normal"; } 205 + bind "u" { HalfPageScrollUp; } 206 + } 207 + entersearch { 208 + bind "Ctrl c" { SwitchToMode "scroll"; } 209 + bind "esc" { SwitchToMode "scroll"; } 210 + bind "enter" { SwitchToMode "search"; } 211 + } 212 + renametab { 213 + bind "esc" { UndoRenameTab; SwitchToMode "tab"; } 214 + } 215 + shared_among "renametab" "renamepane" { 216 + bind "Ctrl c" { SwitchToMode "normal"; } 217 + } 218 + renamepane { 219 + bind "esc" { UndoRenamePane; SwitchToMode "pane"; } 220 + } 221 + shared_among "session" "tmux" { 222 + bind "d" { Detach; } 223 + } 224 + tmux { 225 + bind "left" { MoveFocus "left"; SwitchToMode "normal"; } 226 + bind "down" { MoveFocus "down"; SwitchToMode "normal"; } 227 + bind "up" { MoveFocus "up"; SwitchToMode "normal"; } 228 + bind "right" { MoveFocus "right"; SwitchToMode "normal"; } 229 + bind "space" { NextSwapLayout; } 230 + bind "\"" { NewPane "down"; SwitchToMode "normal"; } 231 + bind "%" { NewPane "right"; SwitchToMode "normal"; } 232 + bind "," { SwitchToMode "renametab"; } 233 + bind "[" { SwitchToMode "scroll"; } 234 + bind "Ctrl b" { Write 2; SwitchToMode "normal"; } 235 + bind "c" { NewTab; SwitchToMode "normal"; } 236 + bind "h" { MoveFocus "left"; SwitchToMode "normal"; } 237 + bind "j" { MoveFocus "down"; SwitchToMode "normal"; } 238 + bind "k" { MoveFocus "up"; SwitchToMode "normal"; } 239 + bind "l" { MoveFocus "right"; SwitchToMode "normal"; } 240 + bind "n" { GoToNextTab; SwitchToMode "normal"; } 241 + bind "o" { FocusNextPane; } 242 + bind "p" { GoToPreviousTab; SwitchToMode "normal"; } 243 + bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; } 244 + } 245 + } 246 + 247 + // Plugin aliases - can be used to change the implementation of Zellij 248 + // changing these requires a restart to take effect 249 + plugins { 250 + about location="zellij:about" 251 + compact-bar location="zellij:compact-bar" 252 + configuration location="zellij:configuration" 253 + filepicker location="zellij:strider" { 254 + cwd "/" 255 + } 256 + plugin-manager location="zellij:plugin-manager" 257 + session-manager location="zellij:session-manager" 258 + status-bar location="zellij:status-bar" 259 + strider location="zellij:strider" 260 + tab-bar location="zellij:tab-bar" 261 + welcome-screen location="zellij:session-manager" { 262 + welcome_screen true 263 + } 264 + } 265 + 266 + // Plugins to load in the background when a new session starts 267 + // eg. "file:/path/to/my-plugin.wasm" 268 + // eg. "https://example.com/my-plugin.wasm" 269 + load_plugins { 270 + } 271 + web_client { 272 + font "monospace" 273 + } 274 + 275 + // Use a simplified UI without special fonts (arrow glyphs) 276 + // Options: 277 + // - true 278 + // - false (Default) 279 + // 280 + // simplified_ui true 281 + 282 + // Choose the theme that is specified in the themes section. 283 + // Default: default 284 + // 285 + theme "rose-pine" 286 + 287 + // Choose the base input mode of zellij. 288 + // Default: normal 289 + // 290 + // default_mode "locked" 291 + 292 + // Choose the path to the default shell that zellij will use for opening new panes 293 + // Default: $SHELL 294 + // 295 + // default_shell "fish" 296 + 297 + // Choose the path to override cwd that zellij will use for opening new panes 298 + // 299 + // default_cwd "/tmp" 300 + 301 + // The name of the default layout to load on startup 302 + // Default: "default" 303 + // 304 + default_layout "compact" 305 + 306 + // The folder in which Zellij will look for layouts 307 + // (Requires restart) 308 + // 309 + // layout_dir "/tmp" 310 + 311 + // The folder in which Zellij will look for themes 312 + // (Requires restart) 313 + // 314 + // theme_dir "/tmp" 315 + 316 + // Toggle enabling the mouse mode. 317 + // On certain configurations, or terminals this could 318 + // potentially interfere with copying text. 319 + // Options: 320 + // - true (default) 321 + // - false 322 + // 323 + // mouse_mode false 324 + 325 + // Toggle having pane frames around the panes 326 + // Options: 327 + // - true (default, enabled) 328 + // - false 329 + // 330 + pane_frames false 331 + 332 + // When attaching to an existing session with other users, 333 + // should the session be mirrored (true) 334 + // or should each user have their own cursor (false) 335 + // (Requires restart) 336 + // Default: false 337 + // 338 + // mirror_session true 339 + 340 + // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP 341 + // eg. when terminal window with an active zellij session is closed 342 + // (Requires restart) 343 + // Options: 344 + // - detach (Default) 345 + // - quit 346 + // 347 + // on_force_close "quit" 348 + 349 + // Configure the scroll back buffer size 350 + // This is the number of lines zellij stores for each pane in the scroll back 351 + // buffer. Excess number of lines are discarded in a FIFO fashion. 352 + // (Requires restart) 353 + // Valid values: positive integers 354 + // Default value: 10000 355 + // 356 + // scroll_buffer_size 10000 357 + 358 + // Provide a command to execute when copying text. The text will be piped to 359 + // the stdin of the program to perform the copy. This can be used with 360 + // terminal emulators which do not support the OSC 52 ANSI control sequence 361 + // that will be used by default if this option is not set. 362 + // Examples: 363 + // 364 + // copy_command "xclip -selection clipboard" // x11 365 + // copy_command "wl-copy" // wayland 366 + // copy_command "pbcopy" // osx 367 + // 368 + // copy_command "pbcopy" 369 + 370 + // Choose the destination for copied text 371 + // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. 372 + // Does not apply when using copy_command. 373 + // Options: 374 + // - system (default) 375 + // - primary 376 + // 377 + // copy_clipboard "primary" 378 + 379 + // Enable automatic copying (and clearing) of selection when releasing mouse 380 + // Default: true 381 + // 382 + // copy_on_select true 383 + 384 + // Path to the default editor to use to edit pane scrollbuffer 385 + // Default: $EDITOR or $VISUAL 386 + // scrollback_editor "/usr/bin/vim" 387 + 388 + // A fixed name to always give the Zellij session. 389 + // Consider also setting `attach_to_session true,` 390 + // otherwise this will error if such a session exists. 391 + // Default: <RANDOM> 392 + // 393 + // session_name "My singleton session" 394 + 395 + // When `session_name` is provided, attaches to that session 396 + // if it is already running or creates it otherwise. 397 + // Default: false 398 + // 399 + // attach_to_session true 400 + 401 + // Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible 402 + // Options: 403 + // - true (default) 404 + // - false 405 + // 406 + // auto_layout false 407 + 408 + // Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected 409 + // Options: 410 + // - true (default) 411 + // - false 412 + // 413 + // session_serialization false 414 + 415 + // Whether pane viewports are serialized along with the session, default is false 416 + // Options: 417 + // - true 418 + // - false (default) 419 + // 420 + // serialize_pane_viewport false 421 + 422 + // Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 423 + // defaults to the scrollback size. If this number is higher than the scrollback size, it will 424 + // also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. 425 + // 426 + // scrollback_lines_to_serialize 10000 427 + 428 + // Enable or disable the rendering of styled and colored underlines (undercurl). 429 + // May need to be disabled for certain unsupported terminals 430 + // (Requires restart) 431 + // Default: true 432 + // 433 + // styled_underlines false 434 + 435 + // How often in seconds sessions are serialized 436 + // 437 + // serialization_interval 10000 438 + 439 + // Enable or disable writing of session metadata to disk (if disabled, other sessions might not know 440 + // metadata info on this session) 441 + // (Requires restart) 442 + // Default: false 443 + // 444 + // disable_session_metadata false 445 + 446 + // Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it) 447 + // (Requires restart) 448 + // Default: true (if the host terminal supports it) 449 + // 450 + // support_kitty_keyboard_protocol false 451 + // Whether to make sure a local web server is running when a new Zellij session starts. 452 + // This web server will allow creating new sessions and attaching to existing ones that have 453 + // opted in to being shared in the browser. 454 + // When enabled, navigate to http://127.0.0.1:8082 455 + // (Requires restart) 456 + // 457 + // Note: a local web server can still be manually started from within a Zellij session or from the CLI. 458 + // If this is not desired, one can use a version of Zellij compiled without 459 + // `web_server_capability` 460 + // 461 + // Possible values: 462 + // - true 463 + // - false 464 + // Default: false 465 + // 466 + // web_server false 467 + // Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is 468 + // running (see the `web_server` option for more details). 469 + // (Requires restart) 470 + // 471 + // Note: This is an administrative separation and not intended as a security measure. 472 + // 473 + // Possible values: 474 + // - "on" (allow web sharing through the local web server if it 475 + // is online) 476 + // - "off" (do not allow web sharing unless sessions explicitly opt-in to it) 477 + // - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it) 478 + // Default: "off" 479 + // 480 + // web_sharing "off" 481 + // A path to a certificate file to be used when setting up the web client to serve the 482 + // connection over HTTPs 483 + // 484 + // web_server_cert "/path/to/cert.pem" 485 + // A path to a key file to be used when setting up the web client to serve the 486 + // connection over HTTPs 487 + // 488 + // web_server_key "/path/to/key.pem" 489 + /// Whether to enforce https connections to the web server when it is bound to localhost 490 + /// (127.0.0.0/8) 491 + /// 492 + /// Note: https is ALWAYS enforced when bound to non-local interfaces 493 + /// 494 + /// Default: false 495 + // 496 + // enforce_https_for_localhost false 497 + 498 + // Whether to stack panes when resizing beyond a certain size 499 + // Default: true 500 + // 501 + // stacked_resize false 502 + 503 + // Whether to show tips on startup 504 + // Default: true 505 + // 506 + show_startup_tips false 507 + 508 + // Whether to show release notes on first version run 509 + // Default: true 510 + // 511 + // show_release_notes false 512 + 513 + // Whether to enable mouse hover effects and pane grouping functionality 514 + // default is true 515 + // advanced_mouse_actions false 516 + 517 + // The ip address the web server should listen on when it starts 518 + // Default: "127.0.0.1" 519 + // (Requires restart) 520 + // web_server_ip "127.0.0.1" 521 + 522 + // The port the web server should listen on when it starts 523 + // Default: 8082 524 + // (Requires restart) 525 + // web_server_port 8082 526 + 527 + // A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable) 528 + // after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT 529 + // of this command will be used instead of the discovered RESURRECT_COMMAND 530 + // can be useful for removing wrappers around commands 531 + // Note: be sure to escape backslashes and similar characters properly 532 + // post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
+120
dot_config/zellij/themes/rose-pine.kdl
··· 1 + themes { 2 + rose-pine { 3 + text_unselected { 4 + base 224 222 244 5 + background 33 32 46 6 + emphasis_0 235 188 186 7 + emphasis_1 156 207 216 8 + emphasis_2 49 116 143 9 + emphasis_3 196 167 231 10 + } 11 + text_selected { 12 + base 224 222 244 13 + background 64 61 82 14 + emphasis_0 235 188 186 15 + emphasis_1 156 207 216 16 + emphasis_2 49 116 143 17 + emphasis_3 196 167 231 18 + } 19 + ribbon_selected { 20 + base 33 32 46 21 + background 49 116 143 22 + emphasis_0 246 193 119 23 + emphasis_1 235 188 186 24 + emphasis_2 196 167 231 25 + emphasis_3 156 207 216 26 + } 27 + ribbon_unselected { 28 + base 25 23 36 29 + background 224 222 244 30 + emphasis_0 246 193 119 31 + emphasis_1 235 188 186 32 + emphasis_2 196 167 231 33 + emphasis_3 156 207 216 34 + } 35 + table_title { 36 + base 49 116 143 37 + background 0 0 0 38 + emphasis_0 235 188 186 39 + emphasis_1 156 207 216 40 + emphasis_2 49 116 143 41 + emphasis_3 196 167 231 42 + } 43 + table_cell_selected { 44 + base 224 222 244 45 + background 64 61 82 46 + emphasis_0 235 188 186 47 + emphasis_1 156 207 216 48 + emphasis_2 49 116 143 49 + emphasis_3 196 167 231 50 + } 51 + table_cell_unselected { 52 + base 224 222 244 53 + background 33 32 46 54 + emphasis_0 235 188 186 55 + emphasis_1 156 207 216 56 + emphasis_2 49 116 143 57 + emphasis_3 196 167 231 58 + } 59 + list_selected { 60 + base 224 222 244 61 + background 64 61 82 62 + emphasis_0 235 188 186 63 + emphasis_1 156 207 216 64 + emphasis_2 49 116 143 65 + emphasis_3 196 167 231 66 + } 67 + list_unselected { 68 + base 224 222 244 69 + background 33 32 46 70 + emphasis_0 235 188 186 71 + emphasis_1 156 207 216 72 + emphasis_2 49 116 143 73 + emphasis_3 196 167 231 74 + } 75 + frame_selected { 76 + base 49 116 143 77 + background 0 0 0 78 + emphasis_0 235 188 186 79 + emphasis_1 156 207 216 80 + emphasis_2 196 167 231 81 + emphasis_3 0 0 0 82 + } 83 + frame_highlight { 84 + base 235 188 186 85 + background 0 0 0 86 + emphasis_0 235 188 186 87 + emphasis_1 235 188 186 88 + emphasis_2 235 188 186 89 + emphasis_3 235 188 186 90 + } 91 + exit_code_success { 92 + base 49 116 143 93 + background 0 0 0 94 + emphasis_0 156 207 216 95 + emphasis_1 33 32 46 96 + emphasis_2 196 167 231 97 + emphasis_3 49 116 143 98 + } 99 + exit_code_error { 100 + base 235 111 146 101 + background 0 0 0 102 + emphasis_0 246 193 119 103 + emphasis_1 0 0 0 104 + emphasis_2 0 0 0 105 + emphasis_3 0 0 0 106 + } 107 + multiplayer_user_colors { 108 + player_1 196 167 231 109 + player_2 49 116 143 110 + player_3 235 188 186 111 + player_4 246 193 119 112 + player_5 156 207 216 113 + player_6 235 111 146 114 + player_7 0 0 0 115 + player_8 0 0 0 116 + player_9 0 0 0 117 + player_10 0 0 0 118 + } 119 + } 120 + }
+1
run_once_after_setup.sh
··· 36 36 libfido2 \ 37 37 fprintd \ 38 38 starship \ 39 + zellij \ 39 40 eza \ 40 41 zoxide \ 41 42 atuin \