From 9af24b9941433b754158d4b8f3359662e1813082 Mon Sep 17 00:00:00 2001 From: Grace Yoder Date: Tue, 2 Jun 2026 09:14:36 -0600 Subject: [PATCH 1/5] zellij: init --- zellij/.config/zellij/config.kdl | 580 ++++++++++++++++++ .../.config/zellij/themes/rose-pine-dawn.kdl | 121 ++++ .../.config/zellij/themes/rose-pine-moon.kdl | 121 ++++ zellij/.config/zellij/themes/rose-pine.kdl | 121 ++++ 4 files changed, 943 insertions(+) create mode 100644 zellij/.config/zellij/config.kdl create mode 100644 zellij/.config/zellij/themes/rose-pine-dawn.kdl create mode 100644 zellij/.config/zellij/themes/rose-pine-moon.kdl create mode 100644 zellij/.config/zellij/themes/rose-pine.kdl diff --git a/zellij/.config/zellij/config.kdl b/zellij/.config/zellij/config.kdl new file mode 100644 index 0000000..b4d322e --- /dev/null +++ b/zellij/.config/zellij/config.kdl @@ -0,0 +1,580 @@ +keybinds clear-defaults=true { + locked { + bind "Ctrl \\" { SwitchToMode "normal"; } + } + pane { + bind "left" { MoveFocus "left"; } + bind "down" { MoveFocus "down"; } + bind "up" { MoveFocus "up"; } + bind "right" { 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 "h" { MoveFocus "left"; } + bind "i" { TogglePanePinned; SwitchToMode "locked"; } + bind "j" { MoveFocus "down"; } + bind "k" { MoveFocus "up"; } + bind "l" { MoveFocus "right"; } + 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; } + } + tab { + bind "left" { GoToPreviousTab; } + bind "down" { GoToNextTab; } + bind "up" { GoToPreviousTab; } + bind "right" { 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 "h" { GoToPreviousTab; } + bind "j" { GoToNextTab; } + bind "k" { GoToPreviousTab; } + bind "l" { GoToNextTab; } + 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 "left" { Resize "Increase left"; } + bind "down" { Resize "Increase down"; } + bind "up" { Resize "Increase up"; } + bind "right" { Resize "Increase right"; } + bind "+" { Resize "Increase"; } + bind "-" { Resize "Decrease"; } + bind "=" { Resize "Increase"; } + bind "H" { Resize "Decrease left"; } + bind "J" { Resize "Decrease down"; } + bind "K" { Resize "Decrease up"; } + bind "L" { Resize "Decrease right"; } + bind "h" { Resize "Increase left"; } + bind "j" { Resize "Increase down"; } + bind "k" { Resize "Increase up"; } + bind "l" { Resize "Increase right"; } + bind "r" { SwitchToMode "normal"; } + } + move { + bind "left" { MovePane "left"; } + bind "down" { MovePane "down"; } + bind "up" { MovePane "up"; } + bind "right" { MovePane "right"; } + 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 "Alt left" { MoveFocusOrTab "left"; SwitchToMode "locked"; } + bind "Alt down" { MoveFocus "down"; SwitchToMode "locked"; } + bind "Alt up" { MoveFocus "up"; SwitchToMode "locked"; } + bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "locked"; } + 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 "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"; } + } + search { + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "n" { Search "down"; } + bind "o" { SearchToggleOption "WholeWord"; } + bind "p" { Search "up"; } + bind "w" { SearchToggleOption "Wrap"; } + } + 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" + } + } + shared_among "normal" "locked" { + bind "Alt left" { MoveFocusOrTab "left"; } + bind "Alt down" { MoveFocus "down"; } + bind "Alt up" { MoveFocus "up"; } + bind "Alt right" { MoveFocusOrTab "right"; } + // bind "Alt h" { MoveFocusOrTab "left"; } + // bind "Alt j" { MoveFocus "down"; } + // bind "Alt k" { MoveFocus "up"; } + // bind "Alt l" { MoveFocusOrTab "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 h" { MoveFocusOrTab "left"; } + bind "Alt i" { MoveTab "left"; } + bind "Alt j" { MoveFocus "down"; } + bind "Alt k" { MoveFocus "up"; } + bind "Alt l" { MoveFocusOrTab "right"; } + bind "Alt n" { NewPane; } + bind "Alt o" { MoveTab "right"; } + bind "Alt p" { TogglePaneInGroup; } + bind "Alt Shift p" { ToggleGroupMarking; } + bind "Alt 1" { GoToTab 1; SwitchToMode "locked"; } + bind "Alt 2" { GoToTab 2; SwitchToMode "locked"; } + bind "Alt 3" { GoToTab 3; SwitchToMode "locked"; } + bind "Alt 4" { GoToTab 4; SwitchToMode "locked"; } + bind "Alt 5" { GoToTab 5; SwitchToMode "locked"; } + bind "Alt 6" { GoToTab 6; SwitchToMode "locked"; } + bind "Alt 7" { GoToTab 7; SwitchToMode "locked"; } + bind "Alt 8" { GoToTab 8; SwitchToMode "locked"; } + bind "Alt 9" { GoToTab 9; SwitchToMode "locked"; } + + } + shared_except "locked" "renametab" "renamepane" { + bind "Ctrl \\" { 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 "PageDown" { PageScrollDown; } + bind "PageUp" { PageScrollUp; } + bind "left" { PageScrollUp; } + bind "down" { ScrollDown; } + bind "up" { ScrollUp; } + bind "right" { PageScrollDown; } + bind "Ctrl b" { PageScrollUp; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "locked"; } + bind "d" { HalfPageScrollDown; } + bind "Ctrl f" { PageScrollDown; } + bind "h" { PageScrollUp; } + bind "j" { ScrollDown; } + bind "k" { ScrollUp; } + bind "l" { 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"; } + } +} + +// Plugin aliases - can be used to change the implementation of Zellij +// changing these requires a restart to take effect +plugins { + about location="zellij:about" + 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" + welcome-screen location="zellij:session-manager" { + welcome_screen true + } +} + +// Plugins to load in the background when a new session starts +// eg. "file:/path/to/my-plugin.wasm" +// eg. "https://example.com/my-plugin.wasm" +load_plugins { + zellij:link +} +web_client { + font "monospace" +} + +// Use a simplified UI without special fonts (arrow glyphs) +// Options: +// - true +// - false (Default) +// +// simplified_ui true + +// Enable OSC8 hyperlink output +// Options: +// - true (Default) +// - false +// +// osc8_hyperlinks true + +// Choose the theme that is specified in the themes section. +// Default: default +// +theme "rose-pine" + +// Theme to use when the host terminal reports a dark color palette. +// Requires `theme_light` to also be set; otherwise `theme` is used. +// +// theme_dark "dracula" + +// Theme to use when the host terminal reports a light color palette. +// Requires `theme_dark` to also be set; otherwise `theme` is used. +// +// theme_light "solarized-light" + +// Choose the base input mode of zellij. +// Default: normal +// +default_mode "locked" + +// Choose the path to the default shell that zellij will use for opening new panes +// Default: $SHELL +// +// default_shell "fish" + +// Choose the path to override cwd that zellij will use for opening new panes +// +// default_cwd "/tmp" + +// The name of the default layout to load on startup +// Default: "default" +// +// default_layout "compact" + +// The folder in which Zellij will look for layouts +// (Requires restart) +// +// layout_dir "/tmp" + +// The folder in which Zellij will look for themes +// (Requires restart) +// +// theme_dir "/tmp" + +// Toggle enabling the mouse mode. +// On certain configurations, or terminals this could +// potentially interfere with copying text. +// Options: +// - true (default) +// - false +// +// mouse_mode false + +// Toggle having pane frames around the panes +// Options: +// - true (default, enabled) +// - false +// +pane_frames false + +// When attaching to an existing session with other users, +// should the session be mirrored (true) +// or should each user have their own cursor (false) +// (Requires restart) +// Default: false +// +// mirror_session true + +// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP +// eg. when terminal window with an active zellij session is closed +// (Requires restart) +// Options: +// - detach (Default) +// - quit +// +// on_force_close "quit" + +// Configure the scroll back buffer size +// This is the number of lines zellij stores for each pane in the scroll back +// buffer. Excess number of lines are discarded in a FIFO fashion. +// (Requires restart) +// Valid values: positive integers +// Default value: 10000 +// +scroll_buffer_size 100000 + +// Provide a command to execute when copying text. The text will be piped to +// the stdin of the program to perform the copy. This can be used with +// terminal emulators which do not support the OSC 52 ANSI control sequence +// that will be used by default if this option is not set. +// Examples: +// +// copy_command "xclip -selection clipboard" // x11 +// copy_command "wl-copy" // wayland +// copy_command "pbcopy" // osx +// +// copy_command "pbcopy" + +// Choose the destination for copied text +// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. +// Does not apply when using copy_command. +// Options: +// - system (default) +// - primary +// +// copy_clipboard "primary" + +// Enable automatic copying (and clearing) of selection when releasing mouse +// Default: true +// +// copy_on_select true + +// Path to the default editor to use to edit pane scrollbuffer +// Default: $EDITOR or $VISUAL +// scrollback_editor "/usr/bin/vim" + +// A fixed name to always give the Zellij session. +// Consider also setting `attach_to_session true,` +// otherwise this will error if such a session exists. +// Default: +// +// session_name "My singleton session" + +// When `session_name` is provided, attaches to that session +// if it is already running or creates it otherwise. +// Default: false +// +// attach_to_session true + +// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible +// Options: +// - true (default) +// - false +// +// auto_layout false + +// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected +// Options: +// - true (default) +// - false +// +// session_serialization false + +// Whether pane viewports are serialized along with the session, default is false +// Options: +// - true +// - false (default) +// +// serialize_pane_viewport false + +// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 +// defaults to the scrollback size. If this number is higher than the scrollback size, it will +// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. +// +// scrollback_lines_to_serialize 10000 + +// Enable or disable the rendering of styled and colored underlines (undercurl). +// May need to be disabled for certain unsupported terminals +// (Requires restart) +// Default: true +// +// styled_underlines false + +// How often in seconds sessions are serialized +// +// serialization_interval 10000 + +// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know +// metadata info on this session) +// (Requires restart) +// Default: false +// +// disable_session_metadata false + +// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it) +// (Requires restart) +// Default: true (if the host terminal supports it) +// +// support_kitty_keyboard_protocol false +// Whether to make sure a local web server is running when a new Zellij session starts. +// This web server will allow creating new sessions and attaching to existing ones that have +// opted in to being shared in the browser. +// When enabled, navigate to http://127.0.0.1:8082 +// (Requires restart) +// +// Note: a local web server can still be manually started from within a Zellij session or from the CLI. +// If this is not desired, one can use a version of Zellij compiled without +// `web_server_capability` +// +// Possible values: +// - true +// - false +// Default: false +// +// web_server false +// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is +// running (see the `web_server` option for more details). +// (Requires restart) +// +// Note: This is an administrative separation and not intended as a security measure. +// +// Possible values: +// - "on" (allow web sharing through the local web server if it +// is online) +// - "off" (do not allow web sharing unless sessions explicitly opt-in to it) +// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it) +// Default: "off" +// +// web_sharing "off" +// A path to a certificate file to be used when setting up the web client to serve the +// connection over HTTPs +// +// web_server_cert "/path/to/cert.pem" +// A path to a key file to be used when setting up the web client to serve the +// connection over HTTPs +// +// web_server_key "/path/to/key.pem" +/// Whether to enforce https connections to the web server when it is bound to localhost +/// (127.0.0.0/8) +/// +/// Note: https is ALWAYS enforced when bound to non-local interfaces +/// +/// Default: false +// +// enforce_https_for_localhost false + +// Whether to stack panes when resizing beyond a certain size +// Default: true +// +// stacked_resize false + +// Whether to show tips on startup +// Default: true +// +// show_startup_tips false + +// Whether to show release notes on first version run +// Default: true +// +// show_release_notes false + +// Whether to enable mouse hover effects and pane grouping functionality +// default is true +// advanced_mouse_actions false + +// Whether to enable mouse hover visual effects (frame highlight and help text) +// default is true +// mouse_hover_effects false + +// Whether to show visual bell indicators (pane/tab frame flash and [!] suffix) +// default is true +// visual_bell true + +// Whether to focus panes on mouse hover +// default is false +// focus_follows_mouse false + +// Whether clicking a pane to focus it also sends the click into the pane +// default is false +// mouse_click_through false + +// The ip address the web server should listen on when it starts +// Default: "127.0.0.1" +// (Requires restart) +// web_server_ip "127.0.0.1" + +// The port the web server should listen on when it starts +// Default: 8082 +// (Requires restart) +// web_server_port 8082 + +// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable) +// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT +// of this command will be used instead of the discovered RESURRECT_COMMAND +// can be useful for removing wrappers around commands +// Note: be sure to escape backslashes and similar characters properly +// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed " + +// Number of async worker tasks to spawn per active client. +// +// Allocating few tasks may result in resource contention and lags. Small values (around 4) should +// typically work best. Set to 0 to use the number of (physical) CPU cores. +// Note: This only applies to web clients at the moment. +// client_async_worker_tasks 4 diff --git a/zellij/.config/zellij/themes/rose-pine-dawn.kdl b/zellij/.config/zellij/themes/rose-pine-dawn.kdl new file mode 100644 index 0000000..dc8baef --- /dev/null +++ b/zellij/.config/zellij/themes/rose-pine-dawn.kdl @@ -0,0 +1,121 @@ +themes { + rose-pine-dawn { + rounded_corners: true + text_unselected { + base 87 82 121 + background 244 237 232 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + text_selected { + base 87 82 121 + background 223 218 217 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + ribbon_selected { + base 244 237 232 + background 40 105 131 + emphasis_0 234 157 52 + emphasis_1 215 130 126 + emphasis_2 144 122 169 + emphasis_3 86 148 159 + } + ribbon_unselected { + base 250 244 237 + background 87 82 121 + emphasis_0 234 157 52 + emphasis_1 215 130 126 + emphasis_2 144 122 169 + emphasis_3 86 148 159 + } + table_title { + base 40 105 131 + background 0 0 0 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + table_cell_selected { + base 87 82 121 + background 223 218 217 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + table_cell_unselected { + base 87 82 121 + background 244 237 232 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + list_selected { + base 87 82 121 + background 223 218 217 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + list_unselected { + base 87 82 121 + background 244 237 232 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 40 105 131 + emphasis_3 144 122 169 + } + frame_selected { + base 40 105 131 + background 0 0 0 + emphasis_0 215 130 126 + emphasis_1 86 148 159 + emphasis_2 144 122 169 + emphasis_3 0 0 0 + } + frame_highlight { + base 215 130 126 + background 0 0 0 + emphasis_0 215 130 126 + emphasis_1 215 130 126 + emphasis_2 215 130 126 + emphasis_3 215 130 126 + } + exit_code_success { + base 40 105 131 + background 0 0 0 + emphasis_0 86 148 159 + emphasis_1 244 237 232 + emphasis_2 144 122 169 + emphasis_3 40 105 131 + } + exit_code_error { + base 180 99 122 + background 0 0 0 + emphasis_0 234 157 52 + emphasis_1 0 0 0 + emphasis_2 0 0 0 + emphasis_3 0 0 0 + } + multiplayer_user_colors { + player_1 144 122 169 + player_2 40 105 131 + player_3 215 130 126 + player_4 234 157 52 + player_5 86 148 159 + player_6 180 99 122 + player_7 0 0 0 + player_8 0 0 0 + player_9 0 0 0 + player_10 0 0 0 + } + } +} diff --git a/zellij/.config/zellij/themes/rose-pine-moon.kdl b/zellij/.config/zellij/themes/rose-pine-moon.kdl new file mode 100644 index 0000000..bd6e5ce --- /dev/null +++ b/zellij/.config/zellij/themes/rose-pine-moon.kdl @@ -0,0 +1,121 @@ +themes { + rose-pine-moon { + rounded_corners: true + text_unselected { + base 224 222 244 + background 42 40 62 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + text_selected { + base 224 222 244 + background 68 65 90 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + ribbon_selected { + base 42 40 62 + background 62 143 176 + emphasis_0 246 193 119 + emphasis_1 234 154 151 + emphasis_2 196 167 231 + emphasis_3 156 207 216 + } + ribbon_unselected { + base 35 33 54 + background 224 222 244 + emphasis_0 246 193 119 + emphasis_1 234 154 151 + emphasis_2 196 167 231 + emphasis_3 156 207 216 + } + table_title { + base 62 143 176 + background 0 0 0 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + table_cell_selected { + base 224 222 244 + background 68 65 90 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + table_cell_unselected { + base 224 222 244 + background 42 40 62 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + list_selected { + base 224 222 244 + background 68 65 90 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + list_unselected { + base 224 222 244 + background 42 40 62 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 62 143 176 + emphasis_3 196 167 231 + } + frame_selected { + base 62 143 176 + background 0 0 0 + emphasis_0 234 154 151 + emphasis_1 156 207 216 + emphasis_2 196 167 231 + emphasis_3 0 0 0 + } + frame_highlight { + base 234 154 151 + background 0 0 0 + emphasis_0 234 154 151 + emphasis_1 234 154 151 + emphasis_2 234 154 151 + emphasis_3 234 154 151 + } + exit_code_success { + base 62 143 176 + background 0 0 0 + emphasis_0 156 207 216 + emphasis_1 42 40 62 + emphasis_2 196 167 231 + emphasis_3 62 143 176 + } + exit_code_error { + base 235 111 146 + background 0 0 0 + emphasis_0 246 193 119 + emphasis_1 0 0 0 + emphasis_2 0 0 0 + emphasis_3 0 0 0 + } + multiplayer_user_colors { + player_1 196 167 231 + player_2 62 143 176 + player_3 234 154 151 + player_4 246 193 119 + player_5 156 207 216 + player_6 235 111 146 + player_7 0 0 0 + player_8 0 0 0 + player_9 0 0 0 + player_10 0 0 0 + } + } +} diff --git a/zellij/.config/zellij/themes/rose-pine.kdl b/zellij/.config/zellij/themes/rose-pine.kdl new file mode 100644 index 0000000..5373d6b --- /dev/null +++ b/zellij/.config/zellij/themes/rose-pine.kdl @@ -0,0 +1,121 @@ +themes { + rose-pine { + rounded_corners: true + text_unselected { + base 224 222 244 + background 33 32 46 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + text_selected { + base 224 222 244 + background 64 61 82 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + ribbon_selected { + base 33 32 46 + background 49 116 143 + emphasis_0 246 193 119 + emphasis_1 235 188 186 + emphasis_2 196 167 231 + emphasis_3 156 207 216 + } + ribbon_unselected { + base 25 23 36 + background 224 222 244 + emphasis_0 246 193 119 + emphasis_1 235 188 186 + emphasis_2 196 167 231 + emphasis_3 156 207 216 + } + table_title { + base 49 116 143 + background 0 0 0 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + table_cell_selected { + base 224 222 244 + background 64 61 82 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + table_cell_unselected { + base 224 222 244 + background 33 32 46 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + list_selected { + base 224 222 244 + background 64 61 82 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + list_unselected { + base 224 222 244 + background 33 32 46 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 49 116 143 + emphasis_3 196 167 231 + } + frame_selected { + base 49 116 143 + background 0 0 0 + emphasis_0 235 188 186 + emphasis_1 156 207 216 + emphasis_2 196 167 231 + emphasis_3 0 0 0 + } + frame_highlight { + base 235 188 186 + background 0 0 0 + emphasis_0 235 188 186 + emphasis_1 235 188 186 + emphasis_2 235 188 186 + emphasis_3 235 188 186 + } + exit_code_success { + base 49 116 143 + background 0 0 0 + emphasis_0 156 207 216 + emphasis_1 33 32 46 + emphasis_2 196 167 231 + emphasis_3 49 116 143 + } + exit_code_error { + base 235 111 146 + background 0 0 0 + emphasis_0 246 193 119 + emphasis_1 0 0 0 + emphasis_2 0 0 0 + emphasis_3 0 0 0 + } + multiplayer_user_colors { + player_1 196 167 231 + player_2 49 116 143 + player_3 235 188 186 + player_4 246 193 119 + player_5 156 207 216 + player_6 235 111 146 + player_7 0 0 0 + player_8 0 0 0 + player_9 0 0 0 + player_10 0 0 0 + } + } +} From 933c75adba13bc7b633017413663fd4473d7e66b Mon Sep 17 00:00:00 2001 From: Grace Yoder Date: Tue, 2 Jun 2026 09:14:36 -0600 Subject: [PATCH 2/5] jj: init --- .gitignore | 5 +++++ jj/.config/jj/config.toml | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 jj/.config/jj/config.toml diff --git a/.gitignore b/.gitignore index 9eb27d1..0dd916e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,11 @@ fish/.config/fish/fish_variables tmux/.tmux/plugins fish/.config/fish/fishd.tmp* +zellij/.config/zellij/config.kdl.bak* +zellij/.config/zellij/config.kdl.bak + +jj/.config/jj/repos/ + # Compiled Lua sources luac.out diff --git a/jj/.config/jj/config.toml b/jj/.config/jj/config.toml new file mode 100644 index 0000000..70b5a0d --- /dev/null +++ b/jj/.config/jj/config.toml @@ -0,0 +1,17 @@ +[user] +name = "Grace Yoder" +email = "grace_yoder@outlook.com" + +[signing] +sign-all = true +backend = "ssh" +key = "~/.ssh/id_ed25519" + +[remotes.origin] +auto-track-bookmarks = "*" + +[remotes.github] +auto-track-bookmarks = "*" + +[aliases] +tug = ["bookmark", "advance"] From 970a2ff6359ddfd802b6fe0c2670fa83291d84ac Mon Sep 17 00:00:00 2001 From: Grace Yoder Date: Tue, 2 Jun 2026 09:14:36 -0600 Subject: [PATCH 3/5] brew: update packages --- brew/.config/Brewfile | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/brew/.config/Brewfile b/brew/.config/Brewfile index 004cf29..996aa91 100644 --- a/brew/.config/Brewfile +++ b/brew/.config/Brewfile @@ -1,5 +1,5 @@ # Grace's Brew File -tap "gyoder/graceful-tap" +tap "gyoder/graceful-tap", trusted: true @@ -10,6 +10,7 @@ brew "uv" brew "llvm" brew "cmake" brew "make" +brew "just" brew "node" brew "npm" brew "typescript" @@ -20,16 +21,16 @@ brew "python@3.13" # Shell Stuff brew "fish" brew "fzf" -brew "pfetch" +brew "pfetch-rs" brew "sesh" brew "starship" brew "gyoder/graceful-tap/jj-starship" brew "tmux" brew "zoxide" +brew "zellij" # Editor Stuff brew "gyoder/graceful-tap/neovim-nightly" -brew "neovim", link: false # Just in case :) brew "tree-sitter" brew "tree-sitter-cli" @@ -42,6 +43,7 @@ brew "vscode-langservers-extracted" brew "typescript-language-server" brew "fish-lsp" uv "ruff" +uv "pyright" # Git Stuff brew "gh" @@ -55,10 +57,20 @@ brew "stow" brew "btop" brew "curl" brew "fd" +brew "uutils-coreutils" +brew "wget" +brew "jq" +brew "yq" +brew "yj" +brew "most" # Random brew "tailscale" brew "sqlite" brew "asciinema" -brew "node_exporter", restart_service: true +brew "bash" +brew "openssh" +brew "openssl" +brew "container", postinstall: "container system start" if OS.mac? +brew "podman" From 5c2726af178dbb8d2bc8dbe80050f6316a271698 Mon Sep 17 00:00:00 2001 From: Grace Yoder Date: Tue, 2 Jun 2026 09:14:36 -0600 Subject: [PATCH 4/5] jj and tmux: changes --- jj/.config/jj/config.toml | 2 +- tmux/.tmux.conf | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/jj/.config/jj/config.toml b/jj/.config/jj/config.toml index 70b5a0d..8bd50e3 100644 --- a/jj/.config/jj/config.toml +++ b/jj/.config/jj/config.toml @@ -1,6 +1,6 @@ [user] name = "Grace Yoder" -email = "grace_yoder@outlook.com" +email = "gyoder@allegion.com" [signing] sign-all = true diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 72a4f9b..5e349db 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -1,4 +1,5 @@ # TMUX_COLORTAG_ROUNDED_POWERLINE=yes +set-environment -g PATH "/Users/gyoder/.local/nvim-macos-arm64/bin:/opt/homebrew/Cellar/universal-ctags/HEAD-43ca055/bin:/Users/gyoder/.local/xonsh-env/xbin:/Users/gyoder/.local/xonsh-env/xbin:/opt/homebrew/opt/icu4c@76/sbin:/opt/homebrew/opt/icu4c@76/bin:/opt/homebrew/opt/llvm/bin:/Users/gyoder/.dotnet/tools:/Users/gyoder/.local/bin:/Users/gyoder/Library/Python/3.9/bin:/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/emulators:/opt/homebrew/bin/iodine:/opt/homebrew/bin:/opt/homebrew/opt/zig@0.14/bin:/Users/gyoder/.platformio/penv/bin/:/Users/gyoder/.cargo/bin:/Users/gyoder/.local/xonsh-env/xbin:/Users/gyoder/go/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/bin:/sbin:/opt/homebrew/opt/coreutils/libexec/gnubin:/opt/homebrew/opt/binutils/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/pkg/env/global/bin:/usr/local/share/dotnet:~/.dotnet/tools:/opt/homebrew/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Ghostty.app/Contents/MacOS:/Users/gyoder/.lmstudio/bin:$PATH" set-environment -g TMUX_POWERLINE_THEME bubble # Options set -g mouse on @@ -10,6 +11,9 @@ set -ga terminal-overrides ",xterm-ghostty:Tc" set-window-option -g mode-keys vi set -g status-position top set-option -g set-clipboard on +set-option -g get-clipboard request +set -g set-titles on +set -g set-titles-string "#{session_name}" set -g @yank_action "copy-pipe" set -g @yank_clipboard 'osc52' set -g base-index 1 From 10c80394a7d8fd868cf0220b4294ecc79fd9ca5c Mon Sep 17 00:00:00 2001 From: Grace Yoder Date: Fri, 3 Jul 2026 20:26:20 -0600 Subject: [PATCH 5/5] jj: email mistake --- jj/.config/jj/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jj/.config/jj/config.toml b/jj/.config/jj/config.toml index 8bd50e3..70b5a0d 100644 --- a/jj/.config/jj/config.toml +++ b/jj/.config/jj/config.toml @@ -1,6 +1,6 @@ [user] name = "Grace Yoder" -email = "gyoder@allegion.com" +email = "grace_yoder@outlook.com" [signing] sign-all = true