diff --git a/.config/btop/btop.conf b/.config/btop/btop.conf new file mode 100644 index 0000000..885be91 --- /dev/null +++ b/.config/btop/btop.conf @@ -0,0 +1,283 @@ +#? Config file for btop v.1.4.7 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "challengerdeep" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = false + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = true + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = false + +#* Option to disable presets. Either the default preset, custom presets, or all presets. +#* "Off" All presets are enabled. +#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled. +disable_presets = "Off" + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = false + +#* Disable all mouse events. +disable_mouse = false + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = true + +#* Use terminal synchronized output sequences to reduce flickering on supported terminals. +terminal_sync = true + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "cpu net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = false + +#* Show processes as a tree. +proc_tree = false + +#* Use the cpu graph colors in the process list. +proc_colors = true + +#* Use a darkening gradient in the process list. +proc_gradient = true + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = false + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = true + +#* Show cpu graph for each process. +proc_cpu_graphs = true + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = false + +#* Show proc box on left side of screen instead of right. +proc_left = false + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = false + +#* Should the process list follow the selected process when detailed view is open. +proc_follow_detailed = true + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = false + +#* Should cpu and memory usage display be preserved for dead processes when paused. +keep_dead_proc_usage = false + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "Auto" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "Auto" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = true + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = false + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = false + +#* Shows the system uptime in the CPU box. +show_uptime = true + +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = true + +#* Show cpu temperature. +check_temp = true + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = true + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = false + +#* Show CPU frequency. +show_cpu_freq = true + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = true + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = true + +#* Show mem box below net box instead of above. +mem_below_net = false + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = true + +#* If swap memory should be shown in memory box. +show_swap = true + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = true + +#* If mem box should be split to also show disks info. +show_disks = true + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = true + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = true + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = false + +#* Set to true to show available disk space for privileged users. +disk_free_priv = false + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = true + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = false + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = false + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Swap the positions of the upload and download speed graphs. When true, upload will be on top. +swap_upload_download = false + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = true + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = true + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* Show battery stats in top right if battery is present. +show_battery = true + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = true + +#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Automatically save current settings to config file on exit. +save_config_on_exit = true + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = true + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = true + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = true + +#* Set which GPU vendors to show. Available values are "nvidia amd intel apple" +shown_gpus = "nvidia amd intel apple" + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/.config/btop/themes/challengerdeep.theme b/.config/btop/themes/challengerdeep.theme new file mode 100644 index 0000000..78e4761 --- /dev/null +++ b/.config/btop/themes/challengerdeep.theme @@ -0,0 +1,95 @@ +# Challenger Deep theme for btop +# Palette: https://github.com/challenger-deep-theme/themes +# Activate by setting `color_theme = "challengerdeep"` in ~/.config/btop/btop.conf, +# or pick "challengerdeep" from btop's options menu (press `o`, then Theme). + +# Main background (palette background #1b182c). +# Set to "" if you'd prefer the terminal's own bg / transparency. +theme[main_bg]="#1b182c" + +# Main text color (palette foreground) +theme[main_fg]="#cbe3e7" + +# Title color for boxes +theme[title]="#cbe3e7" + +# Highlight color for keyboard shortcuts (magenta accent) +theme[hi_fg]="#c991e1" + +# Background color of selected item in processes box (derived selection mid-tone) +theme[selected_bg]="#3b3470" + +# Foreground color of selected item in processes box +theme[selected_fg]="#cbe3e7" + +# Color of inactive/disabled text (derived dim) +theme[inactive_fg]="#5a5475" + +# Color of text appearing on top of graphs (uptime, network scaling, etc.) +theme[graph_text]="#cbe3e7" + +# Background color of the percentage meters (track behind the fill) +theme[meter_bg]="#3b3470" + +# Misc colors for processes box (mini cpu graphs, details memory graph, status text) +theme[proc_misc]="#906cff" + +# CPU box outline (dark_magenta — signature accent) +theme[cpu_box]="#906cff" + +# Memory/disks box outline (dark_green) +theme[mem_box]="#62d196" + +# Net up/down box outline (dark_red — distinct from other boxes) +theme[net_box]="#ff5458" + +# Processes box outline (dark_cyan) +theme[proc_box]="#63f2f1" + +# Box divider line and small boxes line color +theme[div_line]="#3b3470" + +# Temperature graph: cool → warm → hot +theme[temp_start]="#63f2f1" # dark_cyan (cool) +theme[temp_mid]="#ffb378" # dark_yellow (warm) +theme[temp_end]="#ff5458" # dark_red (hot) + +# CPU graph: idle → busy → maxed (severity) +theme[cpu_start]="#62d196" # dark_green +theme[cpu_mid]="#ffb378" # dark_yellow +theme[cpu_end]="#ff5458" # dark_red + +# Mem/Disk free meter (green family — free = good) +theme[free_start]="#62d196" # dark_green +theme[free_mid]="#95ffa4" # green +theme[free_end]="#aaffe4" # cyan + +# Mem/Disk cached meter (cyan/blue family) +theme[cached_start]="#63f2f1" # dark_cyan +theme[cached_mid]="#aaffe4" # cyan +theme[cached_end]="#91ddff" # blue + +# Mem/Disk available meter (warm yellow → cyan family) +theme[available_start]="#ffb378" # dark_yellow +theme[available_mid]="#ffe9aa" # yellow +theme[available_end]="#aaffe4" # cyan + +# Mem/Disk used meter (severity — used = warning) +theme[used_start]="#ffe9aa" # yellow +theme[used_mid]="#ffb378" # dark_yellow +theme[used_end]="#ff5458" # dark_red + +# Download graph (blue family — incoming) +theme[download_start]="#65b2ff" # dark_blue +theme[download_mid]="#91ddff" # blue +theme[download_end]="#aaffe4" # cyan + +# Upload graph (magenta family — outgoing) +theme[upload_start]="#906cff" # dark_magenta +theme[upload_mid]="#c991e1" # magenta +theme[upload_end]="#aaffe4" # cyan + +# Process box gradient (signature ChallengerDeep ramp) +theme[process_start]="#906cff" # dark_magenta +theme[process_mid]="#c991e1" # magenta +theme[process_end]="#63f2f1" # dark_cyan diff --git a/.config/ghostty/config b/.config/ghostty/config new file mode 100644 index 0000000..0174791 --- /dev/null +++ b/.config/ghostty/config @@ -0,0 +1,28 @@ +background-blur-radius = 15 +background-opacity = 0.9 +#theme = dark:cyberdream, light:cyberdream-light +#theme = challengerdeep +theme = "Challenger Deep" + +#window-theme = system + +#font-family = "MesloLGS Nerd Font Mono" +font-family = "IBM Plex Mono" +font-size = 20 + +window-padding-x = 10 +window-padding-y = 10 +window-decoration = true +cursor-style = block +adjust-cell-height = 35% +mouse-scroll-multiplier = 2 +copy-on-select = clipboard +window-padding-balance = true +window-save-state = always +background-opacity = 0.8 +window-colorspace = "display-p3" +background-blur = 30 + +macos-option-as-alt = true +macos-titlebar-style = transparent +macos-titlebar-proxy-icon = hidden diff --git a/.config/ghostty/themes/cyberdream b/.config/ghostty/themes/cyberdream new file mode 100644 index 0000000..b7a65af --- /dev/null +++ b/.config/ghostty/themes/cyberdream @@ -0,0 +1,23 @@ +# cyberdream theme for ghostty +palette = 0=#16181a +palette = 1=#ff6e5e +palette = 2=#5eff6c +palette = 3=#f1ff5e +palette = 4=#5ea1ff +palette = 5=#bd5eff +palette = 6=#5ef1ff +palette = 7=#ffffff +palette = 8=#3c4048 +palette = 9=#ff6e5e +palette = 10=#5eff6c +palette = 11=#f1ff5e +palette = 12=#5ea1ff +palette = 13=#bd5eff +palette = 14=#5ef1ff +palette = 15=#ffffff + +background = #16181a +foreground = #ffffff +cursor-color = #ffffff +selection-background = #3c4048 +selection-foreground = #ffffff diff --git a/.config/ghostty/themes/cyberdream-light b/.config/ghostty/themes/cyberdream-light new file mode 100644 index 0000000..3cd3669 --- /dev/null +++ b/.config/ghostty/themes/cyberdream-light @@ -0,0 +1,23 @@ +# cyberdream theme for ghostty +palette = 0=#ffffff +palette = 1=#d11500 +palette = 2=#008b0c +palette = 3=#997b00 +palette = 4=#0057d1 +palette = 5=#a018ff +palette = 6=#008c99 +palette = 7=#16181a +palette = 8=#acacac +palette = 9=#d11500 +palette = 10=#008b0c +palette = 11=#997b00 +palette = 12=#0057d1 +palette = 13=#a018ff +palette = 14=#008c99 +palette = 15=#16181a + +background = #ffffff +foreground = #16181a +cursor-color = #16181a +selection-background = #acacac +selection-foreground = #16181a diff --git a/.config/ghostty/themes/cyberpunk b/.config/ghostty/themes/cyberpunk new file mode 100644 index 0000000..9204f04 --- /dev/null +++ b/.config/ghostty/themes/cyberpunk @@ -0,0 +1,23 @@ +# cyberpunk theme for ghostty +palette = 0=#000000 +palette = 1=#ff0055 +palette = 2=#00ff9f +palette = 3=#f3e600 +palette = 4=#00baff +palette = 5=#ff00ff +palette = 6=#00ffff +palette = 7=#e0e0e0 +palette = 8=#555555 +palette = 9=#ff5585 +palette = 10=#55ffbf +palette = 11=#ffff55 +palette = 12=#55ccff +palette = 13=#ff55ff +palette = 14=#55ffff +palette = 15=#ffffff + +background = #0d0d0f +foreground = #e0e0e0 +cursor-color = #f3e600 +selection-background = #2d2d30 +selection-foreground = #ffffff diff --git a/.config/lsd/.claude/mind.mv2.lock b/.config/lsd/.claude/mind.mv2.lock new file mode 100644 index 0000000..e69de29 diff --git a/.config/lsd/colors-challengerdeep.yaml b/.config/lsd/colors-challengerdeep.yaml new file mode 100644 index 0000000..44d933b --- /dev/null +++ b/.config/lsd/colors-challengerdeep.yaml @@ -0,0 +1,49 @@ +# Challenger Deep theme for lsd +# Palette: https://github.com/challenger-deep-theme/themes +# Activate by replacing colors.yaml (lsd's `theme: custom` reads that path). + +user: [255, 233, 170] # yellow #ffe9aa +group: [255, 179, 120] # dark_yellow #ffb378 + +permission: + read: [98, 209, 150] # dark_green #62d196 + write: [255, 179, 120] # dark_yellow #ffb378 + exec: [255, 84, 88] # dark_red #ff5458 + exec-sticky: [201, 145, 225] # magenta #c991e1 + no-access: [166, 179, 204] # gray #a6b3cc + octal: [144, 108, 255] # dark_magenta #906cff + acl: [99, 242, 241] # dark_cyan #63f2f1 + context: [170, 255, 228] # cyan #aaffe4 + +date: + hour-old: [149, 255, 164] # green #95ffa4 + day-old: [98, 209, 150] # dark_green #62d196 + older: [166, 179, 204] # gray #a6b3cc + +size: + none: [166, 179, 204] # gray #a6b3cc + small: [255, 233, 170] # yellow #ffe9aa + medium: [255, 179, 120] # dark_yellow #ffb378 + large: [255, 128, 128] # red #ff8080 + +inode: + valid: [201, 145, 225] # magenta #c991e1 + invalid: [166, 179, 204] # gray #a6b3cc + +links: + valid: [145, 221, 255] # blue #91ddff + invalid: [166, 179, 204] # gray #a6b3cc + +tree-edge: [166, 179, 204] # gray #a6b3cc + +git-status: + default: [166, 179, 204] # gray + unmodified: [166, 179, 204] # gray + ignored: dark_grey # named — palette has no dim variant + new-in-index: [98, 209, 150] # dark_green + new-in-workdir: [149, 255, 164] # green + typechange: [255, 179, 120] # dark_yellow + deleted: [255, 84, 88] # dark_red + renamed: [170, 255, 228] # cyan + modified: [255, 233, 170] # yellow + conflicted: [255, 128, 128] # red diff --git a/.config/lsd/colors-cyberpunk.yaml b/.config/lsd/colors-cyberpunk.yaml new file mode 100644 index 0000000..4a893e8 --- /dev/null +++ b/.config/lsd/colors-cyberpunk.yaml @@ -0,0 +1,28 @@ +# Cyberpunk Theme for lsd +user: magenta +group: cyan +permission: + read: green + write: yellow + exec: red + exec-sticky: magenta + no-access: dark_grey + octal: magenta + acl: cyan + context: cyan +date: + hour-old: magenta + day-old: cyan + older: dark_grey +size: + none: dark_grey + small: green + medium: yellow + large: magenta +inode: + valid: cyan + invalid: red +links: + valid: magenta + invalid: red +tree-edge: cyan diff --git a/.config/lsd/colors.yaml b/.config/lsd/colors.yaml new file mode 100644 index 0000000..44d933b --- /dev/null +++ b/.config/lsd/colors.yaml @@ -0,0 +1,49 @@ +# Challenger Deep theme for lsd +# Palette: https://github.com/challenger-deep-theme/themes +# Activate by replacing colors.yaml (lsd's `theme: custom` reads that path). + +user: [255, 233, 170] # yellow #ffe9aa +group: [255, 179, 120] # dark_yellow #ffb378 + +permission: + read: [98, 209, 150] # dark_green #62d196 + write: [255, 179, 120] # dark_yellow #ffb378 + exec: [255, 84, 88] # dark_red #ff5458 + exec-sticky: [201, 145, 225] # magenta #c991e1 + no-access: [166, 179, 204] # gray #a6b3cc + octal: [144, 108, 255] # dark_magenta #906cff + acl: [99, 242, 241] # dark_cyan #63f2f1 + context: [170, 255, 228] # cyan #aaffe4 + +date: + hour-old: [149, 255, 164] # green #95ffa4 + day-old: [98, 209, 150] # dark_green #62d196 + older: [166, 179, 204] # gray #a6b3cc + +size: + none: [166, 179, 204] # gray #a6b3cc + small: [255, 233, 170] # yellow #ffe9aa + medium: [255, 179, 120] # dark_yellow #ffb378 + large: [255, 128, 128] # red #ff8080 + +inode: + valid: [201, 145, 225] # magenta #c991e1 + invalid: [166, 179, 204] # gray #a6b3cc + +links: + valid: [145, 221, 255] # blue #91ddff + invalid: [166, 179, 204] # gray #a6b3cc + +tree-edge: [166, 179, 204] # gray #a6b3cc + +git-status: + default: [166, 179, 204] # gray + unmodified: [166, 179, 204] # gray + ignored: dark_grey # named — palette has no dim variant + new-in-index: [98, 209, 150] # dark_green + new-in-workdir: [149, 255, 164] # green + typechange: [255, 179, 120] # dark_yellow + deleted: [255, 84, 88] # dark_red + renamed: [170, 255, 228] # cyan + modified: [255, 233, 170] # yellow + conflicted: [255, 128, 128] # red diff --git a/.config/lsd/colors.yaml.old b/.config/lsd/colors.yaml.old new file mode 100644 index 0000000..e11475a --- /dev/null +++ b/.config/lsd/colors.yaml.old @@ -0,0 +1,29 @@ +#hardhacker +user: cyan +group: yellow +permission: + read: green + write: yellow + exec: red + exec-sticky: magenta + no-access: dark_grey + octal: cyan + acl: cyan + context: cyan +date: + hour-old: grey + day-old: grey + older: dark_grey +size: + none: green + small: green + medium: green + large: green +inode: + valid: blue + invalid: dark_grey +links: + valid: blue + invalid: dark_grey +tree-edge: dark_grey + diff --git a/.config/lsd/config.yaml b/.config/lsd/config.yaml new file mode 100644 index 0000000..20ab93e --- /dev/null +++ b/.config/lsd/config.yaml @@ -0,0 +1,3 @@ +color: + when: always + theme: custom diff --git a/.config/lsd/icons.yaml b/.config/lsd/icons.yaml new file mode 100644 index 0000000..a2a506b --- /dev/null +++ b/.config/lsd/icons.yaml @@ -0,0 +1,633 @@ +--- +# See https://www.nerdfonts.com/cheat-sheet for additional icons +filetype: + dir:  # Default =  + file:  # Default =  + pipe: 󰈲 # Default = 󰈲 + socket: 󰆨 # Default = 󰆨 + executable:  # Default =  + symlink-dir:  # Default =  + symlink-file:  # Default =  + device-char:  # Default =  + device-block: 󰜫 # Default = 󰜫 + special:  # Default =  + +name: + a:  # Default =  + api: 󰒍 # Default = 󰒍 + .asoundrc:  # Default =  + .atom:  # Default =  + .ash:  # Default =  + .ash_history:  # Default =  + authorized_keys:  # Default =  + assets:  # Default =  + .android:  # Default =  + .audacity:  # Default =  + backups: 󰁯 # Default = 󰁯 + .bash_history: 󱆃 # Default = 󱆃 + .bash_logout: 󱆃 # Default = 󱆃 + .bash_profile: 󱆃 # Default = 󱆃 + .bashrc: 󱆃 # Default = 󱆃 + bin:  # Default =  + .bpython_history:  # Default =  + build:  # Default =  + bspwmrc:  # Default =  + build:  # Default =  + .cache: 󰃨 # Default = 󰃨 + cache: 󰃨 # Default = 󰃨 + cargo:  # Default =  + cargo:  # Default =  + .cargo:  # Default =  + .ccls: 󰃨 # Default = 󰃨 + changelog:  # Default =  + .clang:  # Default =  + composer:  # Default =  + composer:  # Default =  + conf:  # Default =  + config:  # Default =  + config:  # Default =  + config:  # Default =  + .config:  # Default =  + config:  # Default =  + configure:  # Default =  + containerfile:  # Default =  + content:  # Default =  + contributing:  # Default =  + copyright:  # Default =  + cron:  # Default =  + cron:  # Default =  + cron:  # Default =  + cron:  # Default =  + cron:  # Default =  + crontab:  # Default =  + cron:  # Default =  + crypttab:  # Default =  + .cshrc: 󱆃 # Default = 󱆃 + csh: 󱆃 # Default = 󱆃 + csh: 󱆃 # Default = 󱆃 + csh: 󱆃 # Default = 󱆃 + css:  # Default =  + custom:  # Default =  + .dbus:  # Default =  + desktop:  # Default =  + docker:  # Default =  + dockerfile:  # Default =  + doc:  # Default =  + dist:  # Default =  + documents:  # Default =  + .doom:  # Default =  + downloads: 󰉍 # Default = 󰉍 + .ds_store:  # Default =  + .editorconfig:  # Default =  + .electron:  # Default =  + .emacs:  # Default =  + .env:  # Default =  + environment:  # Default =  + .eslintrc:  # Default =  + .eslintrc:  # Default =  + .eslintrc:  # Default =  + etc:  # Default =  + favicon:  # Default =  + favicons:  # Default =  + .fennelrc:  # Default =  + fstab:  # Default =  + .fastboot:  # Default =  + .gitattributes:  # Default =  + # .gitconfig:  # Default =  + .gitcredentials:  # Default =  + .github:  # Default =  + gitignore_global:  # Default =  + .gitignore:  # Default =  + .gitlab:  # Default =  + .gitmodules:  # Default =  + .git:  # Default =  + .gnupg: 󰢬 # Default = 󰢬 + go:  # Default =  + go:  # Default =  + go:  # Default =  + gradle:  # Default =  + gradle:  # Default =  + gradlew:  # Default =  + gradlew:  # Default =  + group:  # Default =  + gruntfile:  # Default =  + gruntfile:  # Default =  + gruntfile:  # Default =  + gshadow:  # Default =  + gulpfile:  # Default =  + gulpfile:  # Default =  + gulpfile:  # Default =  + heroku:  # Default =  + hidden:  # Default =  + home:  # Default =  + hostname:  # Default =  + hosts: 󰀂 # Default = 󰀂 + .htaccess:  # Default =  + htoprc:  # Default =  + .htpasswd:  # Default =  + .icons:  # Default =  + icons:  # Default =  + id_dsa: 󰷖 # Default = 󰷖 + id_ecdsa: 󰷖 # Default = 󰷖 + id_rsa: 󰷖 # Default = 󰷖 + .idlerc:  # Default =  + img:  # Default =  + include:  # Default =  + init:  # Default =  + .inputrc:  # Default =  + inputrc:  # Default =  + .java:  # Default =  + jenkinsfile:  # Default =  + js:  # Default =  + jule:  # Default =  + .jupyter:  # Default =  + kbuild:  # Default =  + kconfig:  # Default =  + kdeglobals:  # Default =  + kdenliverc:  # Default =  + known_hosts:  # Default =  + .kshrc:  # Default =  + libexec:  # Default =  + lib32:  # Default =  + lib64:  # Default =  + lib:  # Default =  + license:  # Default =  + licenses:  # Default =  + license:  # Default =  + license:  # Default =  + localized:  # Default =  + lsb:  # Default =  + .lynxrc:  # Default =  + .mailcap: 󰇰 # Default = 󰇰 + mail: 󰇰 # Default = 󰇰 + magic:  # Default =  + maintainers:  # Default =  + makefile:  # Default =  + makefile:  # Default =  + manifest:  # Default =  + md5sum: 󰕥 # Default = 󰕥 + meson:  # Default =  + metadata:  # Default =  + metadata:  # Default =  + media:  # Default =  + .mime: 󰙅 # Default = 󰙅 + mime: 󰙅 # Default = 󰙅 + module:  # Default =  + .mozilla:  # Default =  + music: 󱍙 # Default = 󱍙 + muttrc:  # Default =  + .muttrc:  # Default =  + .mutt:  # Default =  + .mypy_cache: 󰃨 # Default = 󰃨 + neomuttrc:  # Default =  + .neomuttrc:  # Default =  + netlify:  # Default =  + .nix:  # Default =  + .nix:  # Default =  + .node:  # Default =  + node_modules:  # Default =  + .node_repl_history:  # Default =  + npmignore:  # Default =  + .npm:  # Default =  + nvim:  # Default =  + obj:  # Default =  + os:  # Default =  + package:  # Default =  + package:  # Default =  + packages:  # Default =  + pam: 󰢬 # Default = 󰢬 + passwd:  # Default =  + pictures: 󰉏 # Default = 󰉏 + pkgbuild:  # Default =  + .pki:  # Default =  + portage:  # Default =  + profile:  # Default =  + .profile:  # Default =  + public:  # Default =  + __pycache__:  # Default =  + pyproject:  # Default =  + .python_history:  # Default =  + .pypirc:  # Default =  + rc:  # Default =  + readme:  # Default =  + .release:  # Default =  + requirements: 󰌠 # Default = 󰌠 + robots: 󰚩 # Default = 󰚩 + root: 󰉐 # Default = 󰉐 + rubydoc:  # Default =  + runtime: 󰌠 # Default = 󰌠 + .rustup:  # Default =  + rustfmt:  # Default =  + .rvm:  # Default =  + sass:  # Default =  + sbin:  # Default =  + scripts:  # Default =  + scss:  # Default =  + sha256sum: 󰕥 # Default = 󰕥 + shadow:  # Default =  + share:  # Default =  + .shellcheckrc:  # Default =  + shells:  # Default =  + .spacemacs:  # Default =  + .sqlite_history:  # Default =  + src: 󱧼 # Default = 󱧼 + source: 󱧼 # Default = 󱧼 + .ssh: 󰢬 # Default = 󰢬 + static:  # Default =  + std: 󰅱 # Default = 󰅱 + styles:  # Default =  + subgid:  # Default =  + subuid:  # Default =  + sudoers:  # Default =  + sxhkdrc:  # Default =  + template:  # Default =  + tests: 󰙨 # Default = 󰙨 + test: 󰙨 # Default = 󰙨 + tigrc:  # Default =  + timezone:  # Default =  + tox:  # Default =  + .trash:  # Default =  + ts:  # Default =  + .tox:  # Default =  + unlicense:  # Default =  + url:  # Default =  + user:  # Default =  + vagrantfile:  # Default =  + vendor: 󰫦 # Default = 󰫦 + venv: 󰌠 # Default = 󰌠 + videos:  # Default =  + .viminfo:  # Default =  + .vimrc:  # Default =  + vimrc:  # Default =  + .vim:  # Default =  + vim:  # Default =  + .vscode:  # Default =  + webpack: 󰜫 # Default = 󰜫 + .wgetrc:  # Default =  + wgetrc:  # Default =  + .xauthority:  # Default =  + .Xauthority:  # Default =  + xbps:  # Default =  + xbps:  # Default =  + .xinitrc:  # Default =  + .xmodmap:  # Default =  + .Xmodmap:  # Default =  + xmonad:  # Default =  + xorg:  # Default =  + .xprofile:  # Default =  + .Xprofile:  # Default =  + .xresources:  # Default =  + .yarnrc:  # Default =  + yarn:  # Default =  + zathurarc:  # Default =  + .zcompdump:  # Default =  + .zlogin: 󱆃 # Default = 󱆃 + .zlogout: 󱆃 # Default = 󱆃 + .zprofile: 󱆃 # Default = 󱆃 + .zsh_history: 󱆃 # Default = 󱆃 + .zshrc: 󱆃 # Default = 󱆃 + +extension: + 1:  # Default =  + 2:  # Default =  + 3:  # Default =  + 4:  # Default =  + 5:  # Default =  + 6:  # Default =  + 7:  # Default =  + 7z:  # Default =  + 8:  # Default =  + 890: 󰅞 # Default = 󰅞 + a:  # Default =  + ai:  # Default =  + ape:  # Default =  + apk:  # Default =  + apng:  # Default =  + ar:  # Default =  + asc: 󰦝 # Default = 󰦝 + asm:  # Default =  + asp:  # Default =  + avi:  # Default =  + avif:  # Default =  + avro:  # Default =  + awk:  # Default =  + bak: 󰁯 # Default = 󰁯 + bash_history:  # Default =  + bash_profile:  # Default =  + bashrc:  # Default =  + bash:  # Default =  + bat:  # Default =  + bin:  # Default =  + bio: 󰐑 # Default = 󰐑 + blend: 󰂫 # Default = 󰂫 + blend1: 󰂫 # Default = 󰂫 + bmp:  # Default =  + bz2:  # Default =  + cc:  # Default =  + cfg:  # Default =  + cip: 󰅞 # Default = 󰅞 + cjs:  # Default =  + class:  # Default =  + cljs:  # Default =  + clj:  # Default =  + cls:  # Default =  + cl: 󰅲 # Default = 󰅲 + cmd:  # Default =  + coffee:  # Default =  + conf:  # Default =  + cpp:  # Default =  + cp:  # Default =  + cshtml:  # Default =  + csh:  # Default =  + csproj: 󰌛 # Default = 󰌛 + css:  # Default =  + cs: 󰌛 # Default = 󰌛 + csv:  # Default =  + csx: 󰌛 # Default = 󰌛 + cts:  # Default =  + c:  # Default =  + c:  # Default =  + cue:  # Default =  + cxx:  # Default =  + cypher:  # Default =  + dart:  # Default =  + dat:  # Default =  + db:  # Default =  + deb:  # Default =  + desktop:  # Default =  + diff:  # Default =  + dll:  # Default =  + dockerfile:  # Default =  + doc:  # Default =  + docx:  # Default =  + download:  # Default =  + ds_store:  # Default =  + dump:  # Default =  + ebook:  # Default =  + ebuild:  # Default =  + eclass:  # Default =  + editorconfig:  # Default =  + egg:  # Default =  + ejs:  # Default =  + elc: 󰅲 # Default = 󰅲 + elf:  # Default =  + elm:  # Default =  + el: 󰅲 # Default = 󰅲 + env:  # Default =  + eot:  # Default =  + epub:  # Default =  + erb:  # Default =  + erl:  # Default =  + exe:  # Default =  + exs:  # Default =  + ex:  # Default =  + fish:  # Default =  + flac:  # Default =  + flv:  # Default =  + fnl:  # Default =  + font:  # Default =  + fpl: 󰐑 # Default = 󰐑 + fsi:  # Default =  + fs:  # Default =  + fsx:  # Default =  + gdoc:  # Default =  + gemfile:  # Default =  + gemspec:  # Default =  + gform:  # Default =  + gif:  # Default =  + git:  # Default =  + go:  # Default =  + gpg: 󰦝 # Default = 󰦝 + gradle:  # Default =  + gsheet:  # Default =  + gslides:  # Default =  + guardfile:  # Default =  + gv: 󱁉 # Default = 󱁉 + gz:  # Default =  + hbs:  # Default =  + heic:  # Default =  + heif:  # Default =  + heix:  # Default =  + hh:  # Default =  + hpp:  # Default =  + hs:  # Default =  + html:  # Default =  + htm:  # Default =  + h:  # Default =  + hxx:  # Default =  + ico:  # Default =  + image:  # Default =  + img:  # Default =  + iml:  # Default =  + info:  # Default =  + in:  # Default =  + ini:  # Default =  + ipynb:  # Default =  + iso:  # Default =  + j2:  # Default =  + jar:  # Default =  + java:  # Default =  + jinja:  # Default =  + jl:  # Default =  + jpeg:  # Default =  + jpg:  # Default =  + jsonc:  # Default =  + json:  # Default =  + js:  # Default =  + jsx:  # Default =  + jule:  # Default =  + key: 󰌆 # Default = 󰌆 + ksh:  # Default =  + kt:  # Default =  + kts:  # Default =  + kusto:  # Default =  + ldb:  # Default =  + ld:  # Default =  + less:  # Default =  + lhs:  # Default =  + license:  # Default =  + lisp: 󰅲 # Default = 󰅲 + list:  # Default =  + localized:  # Default =  + lock:  # Default =  + log:  # Default =  + lss:  # Default =  + lua:  # Default =  + lz:  # Default =  + mgc:  # Default =  + m3u8: 󰐑 # Default = 󰐑 + m3u: 󰐑 # Default = 󰐑 + m4:  # Default =  + m4a:  # Default =  + m4v:  # Default =  + magnet:  # Default =  + make:  # Default =  + makefile:  # Default =  + malloy:  # Default =  + man:  # Default =  + markdown:  # Default =  + md:  # Default =  + mjs:  # Default =  + mkd:  # Default =  + mk:  # Default =  + mkv:  # Default =  + ml:  # Default =  + mli:  # Default =  + mll:  # Default =  + mly:  # Default =  + mobi:  # Default =  + mov:  # Default =  + mp3:  # Default =  + mp4:  # Default =  + msi:  # Default =  + mts:  # Default =  + mustache:  # Default =  + nim:  # Default =  + nimble:  # Default =  + nix:  # Default =  + npmignore:  # Default =  + odp:  # Default =  + ods:  # Default =  + odt:  # Default =  + ogg:  # Default =  + ogv:  # Default =  + old: 󰁯 # Default = 󰁯 + opus:  # Default =  + orig: 󰁯 # Default = 󰁯 + org:  # Default =  + otf:  # Default =  + o:  # Default =  + part:  # Default =  + patch:  # Default =  + pdb: 󰪪 # Default = 󰪪 + pdf:  # Default =  + pem: 󰌆 # Default = 󰌆 + phar:  # Default =  + php:  # Default =  + pkg:  # Default =  + pl:  # Default =  + plist:  # Default =  + pls: 󰐑 # Default = 󰐑 + plx:  # Default =  + pm:  # Default =  + png:  # Default =  + pod:  # Default =  + pp:  # Default =  + ppt:  # Default =  + pptx:  # Default =  + procfile:  # Default =  + properties:  # Default =  + prql:  # Default =  + ps1:  # Default =  + psd:  # Default =  + pub: 󰌆 # Default = 󰌆 + pug:  # Default =  + sbv: 󰅞 # Default = 󰅞 + scc: 󰅞 # Default = 󰅞 + slt: 󰈡 # Default = 󰈡 + smi: 󰅞 # Default = 󰅞 + pxm:  # Default =  + pyc:  # Default =  + py:  # Default =  + rakefile:  # Default =  + rar:  # Default =  + razor:  # Default =  + rb:  # Default =  + rdata: 󰟔 # Default = 󰟔 + rdb:  # Default =  + rdoc:  # Default =  + rds: 󰟔 # Default = 󰟔 + readme:  # Default =  + rlib:  # Default =  + rl:  # Default =  + rmd:  # Default =  + rmeta:  # Default =  + rpm:  # Default =  + rproj: 󰗆 # Default = 󰗆 + rq:  # Default =  + rspec_parallel:  # Default =  + rspec_status:  # Default =  + rspec:  # Default =  + rss:  # Default =  + rs:  # Default =  + rtf:  # Default =  + rubydoc:  # Default =  + r: 󰟔 # Default = 󰟔 + ru:  # Default =  + sass:  # Default =  + scala:  # Default =  + scpt:  # Default =  + scss:  # Default =  + shell:  # Default =  + sh:  # Default =  + sig:  # Default =  + slim:  # Default =  + sln:  # Default =  + so:  # Default =  + sqlite3:  # Default =  + sql:  # Default =  + srt: 󰨖 # Default = 󰨖 + styl:  # Default =  + stylus:  # Default =  + sublime:  # Default =  + sublime:  # Default =  + sublime:  # Default =  + sublime:  # Default =  + sub: 󰨖 # Default = 󰨖 + s:  # Default =  + svg:  # Default =  + svelte:  # Default =  + swift:  # Default =  + swp:  # Default =  + sym:  # Default =  + tar:  # Default =  + taz:  # Default =  + tbz:  # Default =  + tbz2:  # Default =  + tex:  # Default =  + tgz:  # Default =  + tiff:  # Default =  + timestamp:  # Default =  + toml:  # Default =  + torrent: 󰒍 # Default = 󰒍 + trash:  # Default =  + ts:  # Default =  + tsx:  # Default =  + ttc:  # Default =  + ttf:  # Default =  + t:  # Default =  + twig:  # Default =  + txt:  # Default =  + unity:  # Default =  + unity32:  # Default =  + video:  # Default =  + vim:  # Default =  + vlc: 󰐑 # Default = 󰐑 + vtt: 󰅞 # Default = 󰅞 + vue: 󰡄 # Default = 󰡄 + wav:  # Default =  + webm:  # Default =  + webp:  # Default =  + whl:  # Default =  + windows:  # Default =  + wma:  # Default =  + wmv:  # Default =  + woff2:  # Default =  + woff:  # Default =  + wpl: 󰐑 # Default = 󰐑 + xbps:  # Default =  + xcf:  # Default =  + xls:  # Default =  + xlsx:  # Default =  + xml:  # Default =  + xul:  # Default =  + xz:  # Default =  + yaml:  # Default =  + yml:  # Default =  + zip:  # Default =  + zig:  # Default =  + zon:  # Default =  + zshrc:  # Default =  + zsh:  # Default =  + zsh:  # Default =  + zst:  # Default =  diff --git a/.config/mise/config.toml b/.config/mise/config.toml new file mode 100644 index 0000000..1facc92 --- /dev/null +++ b/.config/mise/config.toml @@ -0,0 +1,15 @@ +[tools] +awscli = { version = "latest", symlink_bins = "true" } +fzf = "latest" +go = "1.26.3" +kubecolor = "latest" +kubectl = "latest" +kubectx = "latest" +kubens = "latest" +lsd = "latest" +opensearch-cli = "latest" +ripgrep = "latest" +starship = "latest" +teleport-ent = "latest" +terraform = "1.9.8" +zellij = "latest" diff --git a/.config/starship.toml b/.config/starship.toml new file mode 100644 index 0000000..959cd4a --- /dev/null +++ b/.config/starship.toml @@ -0,0 +1,329 @@ +### +# Starship configuration +### + +### +# Configures the starship schema +### +"$schema" = 'https://starship.rs/config-schema.json' + +### +# Configures the add newline +### +add_newline = true + +### +# Configures the format +### +format = """ +[╭](fg:current_line)\ +$directory\ +$kubernetes\ +$fossil_branch\ +$git_branch\ +$git_commit\ +$git_status\ +$hg_branch\ +$vcsh\ +$fill\ +$package\ +$golang\ +$helm\ +$terraform\ +$nim\ +$nodejs\ +$python\ +$red\ +$fill\ +$time\ +$username\ +$line_break\ +[╰─](fg:current_line)\ +$character +""" + + +### +# Configures the palette +### +#palette = 'rainbow' +palette = 'challengerdeep' + +### +# Configures the rainbow palette +### +[palettes.rainbow] +background = '#282A36' +box = '#44475A' +color1 = '#008080' +color2 = '#3CB44B' +color3 = '#FFE119' +color4 = '#0082C8' +color5 = '#F58231' +color6 = '#911EB4' +color7 = '#F032E6' +current_line = '#44475A' +error = '#E6194B' +foreground = '#F8F8F2' +primary = '#1E1F29' +success = '#3CB44B' + +### +# Configures the challengerdeep palette +# https://github.com/challenger-deep-theme/themes +# To activate: change `palette = 'rainbow'` above to `palette = 'challengerdeep'`. +### +[palettes.challengerdeep] +background = '#1b182c' # palette background +box = '#3b3470' # derived mid-tone (no native selection color in palette) +color1 = '#63f2f1' # dark_cyan (unused by current format, present for future modules) +color2 = '#62d196' # dark_green (directory) +color3 = '#ffe9aa' # yellow (VCS: git/fossil/hg/vcsh) +color4 = '#65b2ff' # dark_blue (languages, kubernetes, package) +color5 = '#ffb378' # dark_yellow (shell) +color6 = '#906cff' # dark_magenta (time) +color7 = '#c991e1' # magenta (username) +current_line = '#3b3470' # same derived mid-tone as box +error = '#ff5458' # dark_red +foreground = '#cbe3e7' # palette foreground +primary = '#100e23' # palette black (icon-block fg on bright accent bg) +success = '#62d196' # dark_green + +### +# Configures the bun module +### +[bun] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the c module +### +[c] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the character module +### +[character] +error_symbol = '[χ](bold fg:error)' +format = '$symbol ' +success_symbol = '[\$](bold fg:success)' + +### +# Configures the cmake module +### +[cmake] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the cobol module +### +[cobol] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = 'COBOL' + +### +# Configures the crystal module +### +[crystal] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the daml module +### +[daml] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = 'DAML' + +### +# Configures the dart module +### +[dart] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the deno module +### +[deno] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the directory module +### +[directory] +format = '[─](fg:current_line)[ 󰉋 ](fg:primary bg:color2)[ $read_only$truncation_symbol$path ](fg:foreground bg:box)' +home_symbol = "󱂵 ~/" +read_only = '󰌾 ' +read_only_style = '' +truncation_length = 2 +truncation_symbol = '󰝰 ' + +### +# Configures the kubernetes module +### +[kubernetes] +disabled = false +symbol = '󱃾' +style = 'fg:foreground bg:box' +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)[ $context]($style)([/](fg:#ff50d0 bg:box)[$namespace ](fg:#50ff7f bg:box))' + +[[kubernetes.contexts]] +context_pattern = 'transporter\.ic-ops\.com-(?P[\w-]+)' +context_alias = "$var_cluster" +style = "fg:error bg:box" + +### +# Configures the fill module +### +[fill] +style = 'fg:current_line' +symbol = '─' + +### +# Configures the fossil branch module +### +[fossil_branch] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color3)[ $branch ](fg:foreground bg:box)' +symbol = '󰘬' + +### +# Configures the git branch module +### +[git_branch] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color3)[ $branch ](fg:foreground bg:box)' +symbol = '󰘬' + +### +# Configures the git commit module +### +[git_commit] +commit_hash_length = 4 +format = "([─](fg:current_line)[ 󰓹 ](fg:primary bg:color3)[ $tag ](fg:foreground bg:box))([─](fg:current_line)[ 󰜘 ](fg:primary bg:color3)[ $hash ](fg:foreground bg:box))" +only_detached = false +tag_disabled = false +tag_symbol = '' + +### +# Configures the git status module +### +[git_status] +format = '([─](fg:current_line)[ 󱓎 ](fg:primary bg:color3)[ $all_status$ahead_behind ](fg:foreground bg:box))' + +### +# Configures the golang module +### +[golang] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the helm module +### +[helm] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the hg branch module +### +[hg_branch] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color3)[ $branch(:$topic) ](fg:foreground bg:box)' +symbol = '󰘬' + +### +# Configures the terraform module +### +[terraform] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '󱁢' + +### +# Configures the nodejs module +### +[nodejs] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the php module +### +[php] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the python module +### +[python] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the red module +### +[red] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = 'RED' + +### +# Configures the rust module +### +[rust] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = '' + +### +# Configures the package module +### +[package] +format = '[─](fg:current_line)[ 󰏖 ](fg:primary bg:color4)[ $version ](fg:foreground bg:box)' + +### +# Configures the shell module +### +[shell] +disabled = false +format = '[─](fg:current_line)[ 󰆍 ](fg:primary bg:color5)[ $indicator ](fg:foreground bg:box)' +unknown_indicator = 'shell' + +### +# Configures the time module +### +[time] +disabled = false +format = '[─](fg:current_line)[ 󰥔 ](fg:primary bg:color6)[ $time ](fg:foreground bg:box)' +time_format = '%H:%M' + +### +# Configures the username module +### +[username] +format = '[─](fg:current_line)[ 󰀄 ](fg:primary bg:color7)[ $user ](fg:foreground bg:box) ' +show_always = true + +### +# Configures the vcsh module +### +[vcsh] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color3)[ $repo ](fg:foreground bg:box)' +symbol = '󰘬' + +### +# Configures the vlang module +### +[vlang] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = 'V' + +### +# Configures the zig module +### +[zig] +format = '[─](fg:current_line)[ $symbol ](fg:primary bg:color4)([ $version ](fg:foreground bg:box))' +symbol = 'ZIG' diff --git a/.config/themes/fzf-challengerdeep.sh b/.config/themes/fzf-challengerdeep.sh new file mode 100644 index 0000000..822bed2 --- /dev/null +++ b/.config/themes/fzf-challengerdeep.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env sh +# Challenger Deep theme for fzf +# Palette: https://github.com/challenger-deep-theme/themes +# +# Two ways to use this file: +# +# 1. Source it from ~/.zshrc AFTER your existing FZF_DEFAULT_OPTS line: +# export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border' +# . ~/.config/themes/fzf-challengerdeep.sh +# The snippet appends --color=... to whatever FZF_DEFAULT_OPTS already holds, +# so your existing flags are preserved. +# +# 2. Or copy the FZF_CHALLENGERDEEP_COLORS value below and paste it directly +# into your FZF_DEFAULT_OPTS string. +# +# bg and gutter are -1 (transparent) so the theme inherits your terminal bg — +# replace with #1b182c if you want the theme to be self-contained. + +FZF_CHALLENGERDEEP_COLORS='--color='\ +'fg:#cbe3e7,bg:-1,hl:#ffe9aa,'\ +'fg+:#cbe3e7,bg+:#3b3470,hl+:#ffb378,'\ +'gutter:-1,'\ +'border:#3b3470,separator:#3b3470,scrollbar:#3b3470,label:#a6b3cc,'\ +'info:#a6b3cc,prompt:#906cff,pointer:#c991e1,marker:#62d196,'\ +'spinner:#906cff,header:#63f2f1,query:#cbe3e7,disabled:#5a5475,'\ +'preview-fg:#cbe3e7,preview-bg:-1,preview-border:#3b3470,'\ +'preview-scrollbar:#3b3470,preview-label:#a6b3cc' + +export FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS:+$FZF_DEFAULT_OPTS }$FZF_CHALLENGERDEEP_COLORS" diff --git a/.config/themes/obsidian-challengerdeep/manifest.json b/.config/themes/obsidian-challengerdeep/manifest.json new file mode 100644 index 0000000..f15cad3 --- /dev/null +++ b/.config/themes/obsidian-challengerdeep/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "Challenger Deep", + "version": "1.0.0", + "minAppVersion": "1.0.0", + "author": "Sir Charles of St Cheese", + "authorUrl": "https://github.com/challenger-deep-theme/themes", + "description": "Challenger Deep palette ported to Obsidian — dark only." +} diff --git a/.config/themes/obsidian-challengerdeep/theme.css b/.config/themes/obsidian-challengerdeep/theme.css new file mode 100644 index 0000000..3963495 --- /dev/null +++ b/.config/themes/obsidian-challengerdeep/theme.css @@ -0,0 +1,194 @@ +/* + * Challenger Deep theme for Obsidian + * Palette: https://github.com/challenger-deep-theme/themes + * + * Dark only — switching Obsidian to light mode falls back to Obsidian's default + * light theme rather than producing washed-out garbage. + */ + +.theme-dark { + /* ---------------- Surfaces ---------------- */ + --background-primary: #1b182c; + --background-primary-alt: #2a2640; + --background-secondary: #16131f; + --background-secondary-alt: #100e23; + --background-modifier-border: #3b3470; + --background-modifier-border-hover: #5a5475; + --background-modifier-border-focus: #906cff; + --background-modifier-form-field: #2a2640; + --background-modifier-form-field-highlighted: #3b3470; + --background-modifier-box-shadow: rgba(0, 0, 0, 0.5); + --background-modifier-success: #62d196; + --background-modifier-error: #ff5458; + --background-modifier-error-rgb: 255, 84, 88; + --background-modifier-error-hover: #ff8080; + --background-modifier-cover: rgba(16, 14, 35, 0.6); + --background-modifier-hover: #2a2640; + --background-modifier-active-hover: #3b3470; + + /* ---------------- Text ---------------- */ + --text-normal: #cbe3e7; + --text-muted: #a6b3cc; + --text-faint: #5a5475; + --text-on-accent: #100e23; + --text-error: #ff5458; + --text-error-hover: #ff8080; + --text-warning: #ffb378; + --text-success: #62d196; + --text-accent: #c991e1; + --text-accent-hover: #906cff; + --text-selection: rgba(144, 108, 255, 0.35); + --text-highlight-bg: rgba(255, 233, 170, 0.25); + --text-highlight-bg-active: rgba(255, 233, 170, 0.50); + + /* ---------------- Interactive ---------------- */ + --interactive-normal: #2a2640; + --interactive-hover: #3b3470; + --interactive-accent: #906cff; + --interactive-accent-rgb: 144, 108, 255; + --interactive-accent-hover: #c991e1; + --interactive-success: #62d196; + + /* ---------------- Headings (rotate through palette) ---------------- */ + --h1-color: #c991e1; /* magenta */ + --h2-color: #91ddff; /* blue */ + --h3-color: #63f2f1; /* dark_cyan */ + --h4-color: #62d196; /* dark_green */ + --h5-color: #ffe9aa; /* yellow */ + --h6-color: #ffb378; /* dark_yellow */ + + /* ---------------- Inline code & code blocks ---------------- */ + --code-normal: #cbe3e7; + --code-comment: #a6b3cc; + --code-string: #95ffa4; + --code-keyword: #906cff; + --code-function: #ffe9aa; + --code-property: #91ddff; + --code-tag: #c991e1; + --code-attribute: #91ddff; + --code-value: #ffb378; + --code-operator: #cbe3e7; + --code-punctuation: #a6b3cc; + --code-important: #ff5458; + --code-modifier: #c991e1; + --code-character: #ffb378; + --code-block-bg: #100e23; + --code-background: #100e23; + + /* ---------------- Tags ---------------- */ + --tag-color: #c991e1; + --tag-color-hover: #906cff; + --tag-background: rgba(201, 145, 225, 0.15); + --tag-background-hover: rgba(201, 145, 225, 0.25); + + /* ---------------- Block quotes ---------------- */ + --blockquote-border-color: #906cff; + --blockquote-color: #a6b3cc; + + /* ---------------- Tabs ---------------- */ + --tab-background-active: #2a2640; + --tab-text-color: #a6b3cc; + --tab-text-color-active: #cbe3e7; + --tab-text-color-focused-active: #cbe3e7; + --tab-text-color-focused-active-current: #cbe3e7; + --tab-outline-color: #3b3470; + + /* ---------------- Titlebar / ribbon / status bar ---------------- */ + --titlebar-background: #16131f; + --titlebar-background-focused: #1b182c; + --titlebar-text-color: #cbe3e7; + --titlebar-border-color: #100e23; + + --ribbon-background: #16131f; + --ribbon-background-collapsed: #16131f; + + --status-bar-background: #16131f; + --status-bar-text-color: #a6b3cc; + --status-bar-border-color: #100e23; + + /* ---------------- Scrollbars ---------------- */ + --scrollbar-bg: transparent; + --scrollbar-thumb-bg: #3b3470; + --scrollbar-active-thumb-bg: #5a5475; + + /* ---------------- Graph view ---------------- */ + --graph-line: #3b3470; + --graph-node: #cbe3e7; + --graph-node-unresolved: #5a5475; + --graph-node-tag: #c991e1; + --graph-node-attachment: #ffb378; + --graph-text: #a6b3cc; + + /* ---------------- Checkboxes ---------------- */ + --checkbox-color: #906cff; + --checkbox-color-hover: #c991e1; + --checkbox-border-color: #3b3470; + --checkbox-border-color-hover: #906cff; + --checkbox-marker-color: #100e23; + + /* ---------------- Callouts (RGB tuples — Obsidian's contract) ---------------- */ + --callout-default: 144, 108, 255; + --callout-info: 145, 221, 255; + --callout-todo: 99, 242, 241; + --callout-tip: 99, 242, 241; + --callout-success: 98, 209, 150; + --callout-question: 255, 233, 170; + --callout-warning: 255, 179, 120; + --callout-failure: 255, 84, 88; + --callout-danger: 255, 84, 88; + --callout-bug: 255, 128, 128; + --callout-example: 201, 145, 225; + --callout-quote: 166, 179, 204; + --callout-note: 145, 221, 255; + --callout-abstract: 99, 242, 241; + --callout-summary: 99, 242, 241; + --callout-tldr: 99, 242, 241; + --callout-check: 98, 209, 150; + --callout-done: 98, 209, 150; + --callout-help: 255, 233, 170; + --callout-faq: 255, 233, 170; + --callout-attention: 255, 179, 120; + --callout-caution: 255, 179, 120; + --callout-fail: 255, 84, 88; + --callout-missing: 255, 84, 88; + --callout-error: 255, 84, 88; + --callout-cite: 166, 179, 204; + + /* ---------------- Modal & search ---------------- */ + --modal-background: #1b182c; + --modal-border-color: #3b3470; + + --search-result-background: rgba(144, 108, 255, 0.15); + --search-clear-button-color: #a6b3cc; + + /* ---------------- Indentation guides & active line ---------------- */ + --indentation-guide: #3b3470; + --indentation-guide-active: #906cff; +} + +/* =================================================================== + * Selectors for things CSS variables don't cover + * =================================================================== */ + +/* Active editor line tint (CodeMirror 6) */ +.theme-dark .markdown-source-view.mod-cm6 .cm-active.cm-line { + background-color: rgba(59, 52, 112, 0.35); +} + +/* Active workspace tab — accent strip on the bottom */ +.theme-dark .workspace-tab-header.is-active::after { + background-color: var(--interactive-accent); +} + +/* External-link arrow tint */ +.theme-dark .external-link { + background-image: linear-gradient(transparent, transparent); + color: var(--text-accent); +} + +/* Subtle gradient under selected file in the file explorer */ +.theme-dark .nav-file-title.is-active, +.theme-dark .nav-folder-title.is-active { + background-color: rgba(144, 108, 255, 0.18); + color: var(--text-normal); +} diff --git a/.config/themes/slack-challengerdeep.txt b/.config/themes/slack-challengerdeep.txt new file mode 100644 index 0000000..d72c78e --- /dev/null +++ b/.config/themes/slack-challengerdeep.txt @@ -0,0 +1,21 @@ +Challenger Deep — Slack custom sidebar theme +Palette: https://github.com/challenger-deep-theme/themes + +To install: Slack → Preferences → Themes → scroll to bottom → +"Create a new theme" → paste the line below into "Copy & paste theme values": + +#1b182c,#3b3470,#906cff,#100e23,#2a2640,#cbe3e7,#62d196,#ff5458 + +Slot-by-slot mapping (in order): + + 1. Column BG #1b182c palette background — main sidebar + 2. Menu BG Hover #3b3470 derived selection mid-tone — dropdown hover + 3. Active Item #906cff dark_magenta — signature accent for the + "you are here" channel pill + 4. Active Item Text #100e23 palette black — high-contrast text on the + bright accent pill + 5. Hover Item #2a2640 derived elevated surface — subtle channel- + list hover, deliberately understated + 6. Text Color #cbe3e7 palette foreground — sidebar text + 7. Active Presence #62d196 dark_green — the "online" dot + 8. Mention Badge #ff5458 dark_red — unread mention pip diff --git a/.config/zellij/config.kdl b/.config/zellij/config.kdl new file mode 100644 index 0000000..bff8f42 --- /dev/null +++ b/.config/zellij/config.kdl @@ -0,0 +1,580 @@ +keybinds clear-defaults=true { + locked { + bind "Ctrl g" { 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 "normal"; } + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; } + bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; } + bind "h" { MoveFocus "left"; } + bind "i" { TogglePanePinned; SwitchToMode "normal"; } + bind "j" { MoveFocus "down"; } + bind "k" { MoveFocus "up"; } + bind "l" { MoveFocus "right"; } + bind "n" { NewPane; SwitchToMode "normal"; } + bind "p" { SwitchFocus; } + bind "Ctrl p" { SwitchToMode "normal"; } + bind "r" { NewPane "right"; SwitchToMode "normal"; } + bind "s" { NewPane "stacked"; SwitchToMode "normal"; } + bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; } + bind "z" { TogglePaneFrames; SwitchToMode "normal"; } + } + tab { + bind "left" { GoToPreviousTab; } + bind "down" { GoToNextTab; } + bind "up" { GoToPreviousTab; } + bind "right" { GoToNextTab; } + bind "1" { GoToTab 1; SwitchToMode "normal"; } + bind "2" { GoToTab 2; SwitchToMode "normal"; } + bind "3" { GoToTab 3; SwitchToMode "normal"; } + bind "4" { GoToTab 4; SwitchToMode "normal"; } + bind "5" { GoToTab 5; SwitchToMode "normal"; } + bind "6" { GoToTab 6; SwitchToMode "normal"; } + bind "7" { GoToTab 7; SwitchToMode "normal"; } + bind "8" { GoToTab 8; SwitchToMode "normal"; } + bind "9" { GoToTab 9; SwitchToMode "normal"; } + bind "[" { BreakPaneLeft; SwitchToMode "normal"; } + bind "]" { BreakPaneRight; SwitchToMode "normal"; } + bind "b" { BreakPane; SwitchToMode "normal"; } + bind "h" { GoToPreviousTab; } + bind "j" { GoToNextTab; } + bind "k" { GoToPreviousTab; } + bind "l" { GoToNextTab; } + bind "n" { NewTab; SwitchToMode "normal"; } + bind "r" { SwitchToMode "renametab"; TabNameInput 0; } + bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; } + bind "Ctrl t" { SwitchToMode "normal"; } + bind "x" { CloseTab; SwitchToMode "normal"; } + 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 "Ctrl n" { SwitchToMode "normal"; } + } + move { + bind "left" { MovePane "left"; } + bind "down" { MovePane "down"; } + bind "up" { MovePane "up"; } + bind "right" { MovePane "right"; } + bind "h" { MovePane "left"; } + bind "Ctrl h" { SwitchToMode "normal"; } + bind "j" { MovePane "down"; } + bind "k" { MovePane "up"; } + bind "l" { MovePane "right"; } + bind "n" { MovePane; } + bind "p" { MovePaneBackwards; } + bind "tab" { MovePane; } + } + scroll { + bind "e" { EditScrollback; SwitchToMode "normal"; } + bind "s" { SwitchToMode "entersearch"; SearchInput 0; } + } + 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 "normal" + } + bind "c" { + LaunchOrFocusPlugin "configuration" { + floating true + move_to_focused_tab true + } + SwitchToMode "normal" + } + bind "l" { + LaunchOrFocusPlugin "zellij:layout-manager" { + floating true + move_to_focused_tab true + } + SwitchToMode "normal" + } + bind "Ctrl o" { SwitchToMode "normal"; } + bind "p" { + LaunchOrFocusPlugin "plugin-manager" { + floating true + move_to_focused_tab true + } + SwitchToMode "normal" + } + bind "s" { + LaunchOrFocusPlugin "zellij:share" { + floating true + move_to_focused_tab true + } + SwitchToMode "normal" + } + bind "w" { + LaunchOrFocusPlugin "session-manager" { + floating true + move_to_focused_tab true + } + SwitchToMode "normal" + } + } + shared_except "locked" { + bind "Alt left" { MoveFocusOrTab "left"; } + bind "Alt down" { MoveFocus "down"; } + bind "Alt up" { MoveFocus "up"; } + bind "Alt right" { 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 "Ctrl g" { SwitchToMode "locked"; } + 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 "Ctrl q" { Quit; } + } + shared_except "locked" "move" { + bind "Ctrl h" { SwitchToMode "move"; } + } + shared_except "locked" "session" { + bind "Ctrl o" { SwitchToMode "session"; } + } + shared_except "locked" "scroll" "search" "tmux" { + bind "Ctrl b" { SwitchToMode "tmux"; } + } + shared_except "locked" "scroll" "search" { + bind "Ctrl s" { SwitchToMode "scroll"; } + } + shared_except "locked" "tab" { + bind "Ctrl t" { SwitchToMode "tab"; } + } + shared_except "locked" "pane" { + bind "Ctrl p" { SwitchToMode "pane"; } + } + shared_except "locked" "resize" { + bind "Ctrl n" { SwitchToMode "resize"; } + } + shared_except "normal" "locked" "entersearch" { + bind "enter" { SwitchToMode "normal"; } + } + shared_except "normal" "locked" "entersearch" "renametab" "renamepane" { + bind "esc" { SwitchToMode "normal"; } + } + shared_among "pane" "tmux" { + bind "x" { CloseFocus; SwitchToMode "normal"; } + } + 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 "normal"; } + bind "d" { HalfPageScrollDown; } + bind "Ctrl f" { PageScrollDown; } + bind "h" { PageScrollUp; } + bind "j" { ScrollDown; } + bind "k" { ScrollUp; } + bind "l" { PageScrollDown; } + bind "Ctrl s" { SwitchToMode "normal"; } + 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 "normal"; } + } + renamepane { + bind "esc" { UndoRenamePane; SwitchToMode "pane"; } + } + shared_among "session" "tmux" { + bind "d" { Detach; } + } + tmux { + bind "left" { MoveFocus "left"; SwitchToMode "normal"; } + bind "down" { MoveFocus "down"; SwitchToMode "normal"; } + bind "up" { MoveFocus "up"; SwitchToMode "normal"; } + bind "right" { MoveFocus "right"; SwitchToMode "normal"; } + bind "space" { NextSwapLayout; } + bind "\"" { NewPane "down"; SwitchToMode "normal"; } + bind "%" { NewPane "right"; SwitchToMode "normal"; } + bind "," { SwitchToMode "renametab"; } + bind "[" { SwitchToMode "scroll"; } + bind "Ctrl b" { Write 2; SwitchToMode "normal"; } + bind "c" { NewTab; SwitchToMode "normal"; } + bind "h" { MoveFocus "left"; SwitchToMode "normal"; } + bind "j" { MoveFocus "down"; SwitchToMode "normal"; } + bind "k" { MoveFocus "up"; SwitchToMode "normal"; } + bind "l" { MoveFocus "right"; SwitchToMode "normal"; } + bind "n" { GoToNextTab; SwitchToMode "normal"; } + bind "o" { FocusNextPane; } + bind "p" { GoToPreviousTab; SwitchToMode "normal"; } + bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; } + } +} + +// 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 "dracula" + +// 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 10000 + +// 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