mirror of
https://github.com/avinal/dotfiles.git
synced 2026-07-03 23:20:07 +05:30
feat: major update to all configs
- move older config to archive Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
This commit is contained in:
@@ -1,104 +1,49 @@
|
|||||||
[window]
|
[window]
|
||||||
padding = { x = 7, y = 5 }
|
padding = { x = 7, y = 5 }
|
||||||
dynamic_padding = true
|
dynamic_padding = true
|
||||||
decorations = "Buttonless"
|
|
||||||
dynamic_title = false
|
dynamic_title = false
|
||||||
|
|
||||||
[font]
|
[font]
|
||||||
normal = { family = "Monaspace Neon", style = "Regular" }
|
normal = { family = "Iosevka Term", style = "Regular" }
|
||||||
bold = { family = "Monaspace Neon", style = "Bold" }
|
bold = { family = "Iosevka Term", style = "Bold" }
|
||||||
italic = { family = "Monaspace Neon", style = "Italic" }
|
italic = { family = "Iosevka Term", style = "Italic" }
|
||||||
bold_italic = { family = "Monaspace Neon", style = "Bold Italic" }
|
bold_italic = { family = "Iosevka Term", style = "Bold Italic" }
|
||||||
size = 15
|
size = 14
|
||||||
|
|
||||||
[terminal.shell]
|
|
||||||
program = "zellij"
|
|
||||||
args = ["-l", "welcome"]
|
|
||||||
|
|
||||||
# Nightfox Alacritty Colors
|
|
||||||
## name: carbonfox
|
|
||||||
## upstream: https://github.com/edeneast/nightfox.nvim/raw/main/extra/carbonfox/alacritty.toml
|
|
||||||
|
|
||||||
[colors.primary]
|
[colors.primary]
|
||||||
background = "#161616"
|
background = "#111111"
|
||||||
foreground = "#f2f4f8"
|
foreground = "#c1c9d2"
|
||||||
dim_foreground = "#b6b8bb"
|
|
||||||
bright_foreground = "#f9fbff"
|
|
||||||
|
|
||||||
[colors.cursor]
|
[colors.cursor]
|
||||||
text = "#f2f4f8"
|
text = "#111111"
|
||||||
cursor = "#b6b8bb"
|
cursor = "#c1c9d2"
|
||||||
|
|
||||||
[colors.vi_mode_cursor]
|
|
||||||
text = "#f2f4f8"
|
|
||||||
cursor = "#33b1ff"
|
|
||||||
|
|
||||||
[colors.search.matches]
|
|
||||||
foreground = "#f2f4f8"
|
|
||||||
background = "#525253"
|
|
||||||
|
|
||||||
[colors.search.focused_match]
|
|
||||||
foreground = "#f2f4f8"
|
|
||||||
background = "#3ddbd9"
|
|
||||||
|
|
||||||
[colors.footer_bar]
|
|
||||||
foreground = "#f2f4f8"
|
|
||||||
background = "#353535"
|
|
||||||
|
|
||||||
[colors.hints.start]
|
|
||||||
foreground = "#f2f4f8"
|
|
||||||
background = "#3ddbd9"
|
|
||||||
|
|
||||||
[colors.hints.end]
|
|
||||||
foreground = "#f2f4f8"
|
|
||||||
background = "#353535"
|
|
||||||
|
|
||||||
[colors.selection]
|
[colors.selection]
|
||||||
text = "#f2f4f8"
|
text = "#ffffff"
|
||||||
background = "#2a2a2a"
|
background = "#3e4043"
|
||||||
|
|
||||||
[colors.normal]
|
[colors.normal]
|
||||||
black = "#282828"
|
black = "#000000"
|
||||||
red = "#ee5396"
|
red = "#ed5f74"
|
||||||
green = "#25be6a"
|
green = "#1ea672"
|
||||||
yellow = "#f8e17c"
|
yellow = "#d97917"
|
||||||
blue = "#33b1ff"
|
blue = "#688ef1"
|
||||||
magenta = "#be95ff"
|
magenta = "#c96ed0"
|
||||||
cyan = "#3ddbd9"
|
cyan = "#3a97d4"
|
||||||
white = "#dfdfe0"
|
white = "#e3e8ee"
|
||||||
|
|
||||||
[colors.bright]
|
[colors.bright]
|
||||||
black = "#484848"
|
black = "#697386"
|
||||||
red = "#f16da6"
|
red = "#fbb5b2"
|
||||||
green = "#46c880"
|
green = "#85d996"
|
||||||
yellow = "#f8e17c"
|
yellow = "#efc078"
|
||||||
blue = "#52bdff"
|
blue = "#9fcdff"
|
||||||
magenta = "#c8a5ff"
|
magenta = "#f0b4e4"
|
||||||
cyan = "#2dc7c4"
|
cyan = "#7fd3ed"
|
||||||
white = "#e4e4e5"
|
white = "#ffffff"
|
||||||
|
|
||||||
[colors.dim]
|
|
||||||
black = "#222222"
|
|
||||||
red = "#ca4780"
|
|
||||||
green = "#1fa25a"
|
|
||||||
yellow = "#f8e17c"
|
|
||||||
blue = "#2b96d9"
|
|
||||||
magenta = "#a27fd9"
|
|
||||||
cyan = "#07a19e"
|
|
||||||
white = "#bebebe"
|
|
||||||
|
|
||||||
[[colors.indexed_colors]]
|
|
||||||
index = 16
|
|
||||||
color = "#3ddbd9"
|
|
||||||
|
|
||||||
[[colors.indexed_colors]]
|
|
||||||
index = 17
|
|
||||||
color = "#ff7eb6"
|
|
||||||
|
|
||||||
[cursor]
|
[cursor]
|
||||||
style = { shape = "Underline", blinking = "On" }
|
style = { shape = "Underline", blinking = "On" }
|
||||||
vi_mode_style = { shape = "Block", blinking = "Off" }
|
|
||||||
|
|
||||||
[selection]
|
[selection]
|
||||||
save_to_clipboard = true
|
save_to_clipboard = true
|
||||||
|
|
||||||
|
|||||||
+33
-167
@@ -1,200 +1,66 @@
|
|||||||
## where to store your database, default is your system data directory
|
## Sync
|
||||||
## linux/mac: ~/.local/share/atuin/history.db
|
sync_address = "http://pifive.neon-universe.ts.net:8392"
|
||||||
## windows: %USERPROFILE%/.local/share/atuin/history.db
|
|
||||||
# db_path = "~/.history.db"
|
|
||||||
|
|
||||||
## where to store your encryption key, default is your system data directory
|
## Search
|
||||||
## linux/mac: ~/.local/share/atuin/key
|
search_mode = "daemon-fuzzy"
|
||||||
## windows: %USERPROFILE%/.local/share/atuin/key
|
|
||||||
# key_path = "~/.key"
|
|
||||||
|
|
||||||
## where to store your auth session token, default is your system data directory
|
# Smart filter: workspace in git repos, falls to directory outside, then session
|
||||||
## linux/mac: ~/.local/share/atuin/session
|
# Workspace mode is auto-skipped when not in a git repo
|
||||||
## windows: %USERPROFILE%/.local/share/atuin/session
|
filter_mode = "workspace"
|
||||||
# session_path = "~/.session"
|
filter_mode_shell_up_key_binding = "session"
|
||||||
|
|
||||||
## date format used, either "us" or "uk"
|
|
||||||
# dialect = "us"
|
|
||||||
|
|
||||||
## default timezone to use when displaying time
|
|
||||||
## either "l", "local" to use the system's current local timezone, or an offset
|
|
||||||
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
|
||||||
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
|
||||||
# timezone = "local"
|
|
||||||
|
|
||||||
## enable or disable automatic sync
|
|
||||||
# auto_sync = true
|
|
||||||
|
|
||||||
## enable or disable automatic update checks
|
|
||||||
# update_check = true
|
|
||||||
|
|
||||||
## address of the sync server
|
|
||||||
sync_address = "http://pifive.neon-universe.ts.net:8888"
|
|
||||||
|
|
||||||
## how often to sync history. note that this is only triggered when a command
|
|
||||||
## is ran, so sync intervals may well be longer
|
|
||||||
## set it to 0 to sync after every command
|
|
||||||
# sync_frequency = "10m"
|
|
||||||
|
|
||||||
## which search mode to use
|
|
||||||
## possible values: prefix, fulltext, fuzzy, skim
|
|
||||||
search_mode = "fulltext"
|
|
||||||
|
|
||||||
## which filter mode to use
|
|
||||||
## possible values: global, host, session, directory
|
|
||||||
filter_mode = "host"
|
|
||||||
|
|
||||||
## With workspace filtering enabled, Atuin will filter for commands executed
|
|
||||||
## in any directory within a git repository tree (default: false)
|
|
||||||
workspaces = true
|
workspaces = true
|
||||||
|
|
||||||
## which filter mode to use when atuin is invoked from a shell up-key binding
|
## UI
|
||||||
## the accepted values are identical to those of "filter_mode"
|
|
||||||
## leave unspecified to use same mode set in "filter_mode"
|
|
||||||
filter_mode_shell_up_key_binding = "session"
|
|
||||||
|
|
||||||
## which search mode to use when atuin is invoked from a shell up-key binding
|
|
||||||
## the accepted values are identical to those of "search_mode"
|
|
||||||
## leave unspecified to use same mode set in "search_mode"
|
|
||||||
# search_mode_shell_up_key_binding = "fuzzy"
|
|
||||||
|
|
||||||
## which style to use
|
|
||||||
## possible values: auto, full, compact
|
|
||||||
style = "compact"
|
style = "compact"
|
||||||
|
|
||||||
## the maximum number of lines the interface should take up
|
|
||||||
## set it to 0 to always go full screen
|
|
||||||
inline_height = 9
|
inline_height = 9
|
||||||
|
|
||||||
## Invert the UI - put the search bar at the top , Default to `false`
|
|
||||||
# invert = false
|
|
||||||
|
|
||||||
## enable or disable showing a preview of the selected command
|
|
||||||
## useful when the command is longer than the terminal width and is cut off
|
|
||||||
# show_preview = false
|
|
||||||
|
|
||||||
## what to do when the escape key is pressed when searching
|
|
||||||
## possible values: return-original, return-query
|
|
||||||
# exit_mode = "return-original"
|
|
||||||
|
|
||||||
## possible values: emacs, subl
|
|
||||||
# word_jump_mode = "emacs"
|
|
||||||
|
|
||||||
## characters that count as a part of a word
|
|
||||||
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
|
||||||
|
|
||||||
## number of context lines to show when scrolling by pages
|
|
||||||
# scroll_context_lines = 1
|
|
||||||
|
|
||||||
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
|
|
||||||
## alt-0 .. alt-9
|
|
||||||
# ctrl_n_shortcuts = false
|
|
||||||
|
|
||||||
## default history list format - can also be specified with the --format arg
|
|
||||||
# history_format = "{time}\t{command}\t{duration}"
|
|
||||||
|
|
||||||
## prevent commands matching any of these regexes from being written to history.
|
|
||||||
## Note that these regular expressions are unanchored, i.e. if they don't start
|
|
||||||
## with ^ or end with $, they'll match anywhere in the command.
|
|
||||||
## For details on the supported regular expression syntax, see
|
|
||||||
## https://docs.rs/regex/latest/regex/#syntax
|
|
||||||
# history_filter = [
|
|
||||||
# "^secret-cmd",
|
|
||||||
# "^innocuous-cmd .*--secret=.+",
|
|
||||||
# ]
|
|
||||||
|
|
||||||
## prevent commands run with cwd matching any of these regexes from being written
|
|
||||||
## to history. Note that these regular expressions are unanchored, i.e. if they don't
|
|
||||||
## start with ^ or end with $, they'll match anywhere in CWD.
|
|
||||||
## For details on the supported regular expression syntax, see
|
|
||||||
## https://docs.rs/regex/latest/regex/#syntax
|
|
||||||
# cwd_filter = [
|
|
||||||
# "^/very/secret/area",
|
|
||||||
# ]
|
|
||||||
|
|
||||||
## Configure the maximum height of the preview to show.
|
|
||||||
## Useful when you have long scripts in your history that you want to distinguish
|
|
||||||
## by more than the first few lines.
|
|
||||||
# max_preview_height = 4
|
|
||||||
|
|
||||||
## Configure whether or not to show the help row, which includes the current Atuin
|
|
||||||
## version (and whether an update is available), a keymap hint, and the total
|
|
||||||
## amount of commands in your history.
|
|
||||||
show_help = false
|
show_help = false
|
||||||
|
|
||||||
## Configure whether or not to show tabs for search and inspect
|
|
||||||
show_tabs = false
|
show_tabs = false
|
||||||
|
show_preview = true
|
||||||
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
max_preview_height = 4
|
||||||
## 1. AWS key id
|
|
||||||
## 2. Github pat (old and new)
|
|
||||||
## 3. Slack oauth tokens (bot, user)
|
|
||||||
## 4. Slack webhooks
|
|
||||||
## 5. Stripe live/test keys
|
|
||||||
# secrets_filter = true
|
|
||||||
|
|
||||||
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
|
||||||
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
|
||||||
enter_accept = true
|
enter_accept = true
|
||||||
|
|
||||||
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
## Score tuning for daemon-fuzzy: favor recent commands slightly
|
||||||
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
[search]
|
||||||
## search is automatically selected based on the shell's keymap where the
|
filters = ["workspace", "directory", "session", "host", "global"]
|
||||||
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
recency_score_multiplier = 2.0
|
||||||
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
frequency_score_multiplier = 1.0
|
||||||
## the specified one.
|
frecency_score_multiplier = 1.5
|
||||||
# keymap_mode = "auto"
|
|
||||||
|
|
||||||
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
## Filter secrets and noisy commands from history
|
||||||
## in entering the cursor shape. Available values are "default" and
|
history_filter = [
|
||||||
## "{blink,steady}-{block,underline,bar}".
|
"^export .*(KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL).*=",
|
||||||
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
"^set .*(KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL).*=",
|
||||||
|
]
|
||||||
# network_connect_timeout = 5
|
|
||||||
# network_timeout = 5
|
|
||||||
|
|
||||||
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
|
||||||
# local_timeout = 5
|
|
||||||
|
|
||||||
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
|
||||||
## Alternatively, set env NO_MOTION=true
|
|
||||||
# prefers_reduced_motion = false
|
|
||||||
|
|
||||||
[stats]
|
[stats]
|
||||||
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
|
||||||
common_subcommands = [
|
common_subcommands = [
|
||||||
|
"brew",
|
||||||
"cargo",
|
"cargo",
|
||||||
"dnf",
|
"dnf",
|
||||||
"docker",
|
"docker",
|
||||||
|
"gh",
|
||||||
"git",
|
"git",
|
||||||
"go",
|
"go",
|
||||||
"ip",
|
"ip",
|
||||||
"kubectl",
|
"kubectl",
|
||||||
"npm",
|
"npm",
|
||||||
|
"oc",
|
||||||
"podman",
|
"podman",
|
||||||
"port",
|
"port",
|
||||||
"systemctl",
|
"systemctl",
|
||||||
"tmux",
|
|
||||||
"zellij",
|
"zellij",
|
||||||
"yarn",
|
"yarn",
|
||||||
]
|
]
|
||||||
|
|
||||||
## Set commands that should be totally stripped and ignored from stats
|
|
||||||
# common_prefix = ["sudo"]
|
|
||||||
|
|
||||||
## Set commands that will be completely ignored from stats
|
|
||||||
# ignored_commands = [
|
|
||||||
# "cd",
|
|
||||||
# "ls",
|
|
||||||
# "vi"
|
|
||||||
# ]
|
|
||||||
|
|
||||||
[keys]
|
[keys]
|
||||||
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
scroll_exits = false
|
||||||
# scroll_exits = false
|
|
||||||
|
|
||||||
[sync]
|
[sync]
|
||||||
# Enable sync v2 by default
|
|
||||||
# This ensures that sync v2 is enabled for new installs only
|
|
||||||
# In a later release it will become the default across the board
|
|
||||||
records = true
|
records = true
|
||||||
|
|
||||||
|
[daemon]
|
||||||
|
enabled = true
|
||||||
|
autostart = true
|
||||||
|
|
||||||
|
[preview]
|
||||||
|
strategy = "auto"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ version: 1
|
|||||||
# What protocol to use when performing git operations. Supported values: ssh, https
|
# What protocol to use when performing git operations. Supported values: ssh, https
|
||||||
git_protocol: ssh
|
git_protocol: ssh
|
||||||
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
|
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
|
||||||
editor: nvim
|
editor: hx
|
||||||
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
|
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
|
||||||
prompt: enabled
|
prompt: enabled
|
||||||
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
|
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
|
||||||
@@ -11,6 +11,7 @@ pager: less
|
|||||||
# Aliases allow you to create nicknames for gh commands
|
# Aliases allow you to create nicknames for gh commands
|
||||||
aliases:
|
aliases:
|
||||||
co: pr checkout
|
co: pr checkout
|
||||||
|
pc: pr create
|
||||||
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
|
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
|
||||||
http_unix_socket:
|
http_unix_socket:
|
||||||
# What web browser gh should use when opening URLs. If blank, will refer to environment.
|
# What web browser gh should use when opening URLs. If blank, will refer to environment.
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
github.com:
|
|
||||||
git_protocol: ssh
|
|
||||||
users:
|
|
||||||
avinal:
|
|
||||||
user: avinal
|
|
||||||
+58
-21
@@ -1,30 +1,67 @@
|
|||||||
# Font related configs
|
# Font
|
||||||
font-family = "Monaspace Neon"
|
font-family = "Iosevka Term"
|
||||||
font-size = "14"
|
font-size = 14
|
||||||
adjust-underline-position = "1"
|
font-feature = "calt"
|
||||||
adjust-underline-thickness = "1"
|
font-feature = "liga"
|
||||||
#adjust-cell-width = "5%"
|
adjust-underline-position = 1
|
||||||
#adjust-cell-height = "5%"
|
adjust-underline-thickness = 1
|
||||||
adjust-box-thickness = "1"
|
adjust-box-thickness = 1
|
||||||
|
bold-is-bright = true
|
||||||
|
freetype-load-flags = hinting,autohint,light
|
||||||
|
|
||||||
# Appearance
|
# Appearance
|
||||||
# theme = "Oxocarbon"
|
theme = "vim_dark_high_contrast"
|
||||||
theme = "Raycast_Dark"
|
|
||||||
# title = "Ghostty"
|
|
||||||
window-decoration = true
|
window-decoration = true
|
||||||
|
window-padding-x = 4
|
||||||
|
window-padding-y = 2
|
||||||
|
window-padding-balance = true
|
||||||
|
mouse-hide-while-typing = true
|
||||||
|
unfocused-split-opacity = 0.85
|
||||||
|
resize-overlay = after-first
|
||||||
|
resize-overlay-position = bottom-right
|
||||||
|
|
||||||
# Cursor setting
|
# Cursor
|
||||||
cursor-style = "underline"
|
cursor-style = block_hollow
|
||||||
|
cursor-style-blink = false
|
||||||
cursor-click-to-move = true
|
cursor-click-to-move = true
|
||||||
cursor-color = "cyan"
|
cursor-color = cyan
|
||||||
cursor-text = "cyan"
|
cursor-text = cyan
|
||||||
# cursor-invert-fg-bg = true
|
|
||||||
# adjust-cursor-thickness = "2"
|
|
||||||
|
|
||||||
# Shell setting
|
# Shell
|
||||||
shell-integration = "zsh"
|
shell-integration = zsh
|
||||||
shell-integration-features = true
|
shell-integration-features = true
|
||||||
|
|
||||||
# Clipboard
|
# Clipboard
|
||||||
clipboard-read = "allow"
|
clipboard-read = allow
|
||||||
clipboard-write = "allow"
|
clipboard-write = allow
|
||||||
|
copy-on-select = clipboard
|
||||||
|
|
||||||
|
# Scrollback (10MB per surface)
|
||||||
|
scrollback-limit = 10000000
|
||||||
|
|
||||||
|
# Links
|
||||||
|
link-url = true
|
||||||
|
|
||||||
|
# Notifications for long commands (KDE supports this natively)
|
||||||
|
notify-on-command-finish = unfocused
|
||||||
|
notify-on-command-finish-after = 10s
|
||||||
|
|
||||||
|
# Window behavior
|
||||||
|
confirm-close-surface = true
|
||||||
|
window-inherit-working-directory = true
|
||||||
|
window-save-state = always
|
||||||
|
|
||||||
|
# Quick terminal (toggle with a keybind)
|
||||||
|
quick-terminal-position = top
|
||||||
|
quick-terminal-size = 40%
|
||||||
|
quick-terminal-autohide = false
|
||||||
|
|
||||||
|
# GTK/Linux specific
|
||||||
|
gtk-titlebar = false
|
||||||
|
gtk-tabs-location = hidden
|
||||||
|
gtk-single-instance = true
|
||||||
|
|
||||||
|
# Keybinds
|
||||||
|
keybind = ctrl+grave_accent=toggle_quick_terminal
|
||||||
|
keybind = ctrl+shift+t=new_tab
|
||||||
|
keybind = ctrl+shift+n=new_window
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
palette = 0=#000000
|
||||||
|
palette = 1=#ed5f74
|
||||||
|
palette = 2=#1ea672
|
||||||
|
palette = 3=#d97917
|
||||||
|
palette = 4=#688ef1
|
||||||
|
palette = 5=#c96ed0
|
||||||
|
palette = 6=#3a97d4
|
||||||
|
palette = 7=#e3e8ee
|
||||||
|
|
||||||
|
palette = 8=#697386
|
||||||
|
palette = 9=#fbb5b2
|
||||||
|
palette = 10=#85d996
|
||||||
|
palette = 11=#efc078
|
||||||
|
palette = 12=#9fcdff
|
||||||
|
palette = 13=#f0b4e4
|
||||||
|
palette = 14=#7fd3ed
|
||||||
|
palette = 15=#ffffff
|
||||||
|
|
||||||
|
background = #000000
|
||||||
|
foreground = #c1c9d2
|
||||||
|
cursor-color = #c1c9d2
|
||||||
|
cursor-text = #111111
|
||||||
|
selection-background = #3e4043
|
||||||
|
selection-foreground = #ffffff
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
# Ghostty theme adapted from Helix palette
|
||||||
|
|
||||||
|
palette = 0=#000000
|
||||||
|
palette = 1=#ed5f74
|
||||||
|
palette = 2=#1ea672
|
||||||
|
palette = 3=#d97917
|
||||||
|
palette = 4=#688ef1
|
||||||
|
palette = 5=#c96ed0
|
||||||
|
palette = 6=#3a97d4
|
||||||
|
palette = 7=#e3e8ee
|
||||||
|
|
||||||
|
palette = 8=#697386
|
||||||
|
palette = 9=#fbb5b2
|
||||||
|
palette = 10=#85d996
|
||||||
|
palette = 11=#efc078
|
||||||
|
palette = 12=#9fcdff
|
||||||
|
palette = 13=#f0b4e4
|
||||||
|
palette = 14=#7fd3ed
|
||||||
|
palette = 15=#ffffff
|
||||||
|
|
||||||
|
background = #111111
|
||||||
|
foreground = #c1c9d2
|
||||||
|
cursor-color = #c1c9d2
|
||||||
|
cursor-text = #111111
|
||||||
|
selection-background = #3e4043
|
||||||
|
selection-foreground = #ffffff
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
theme = "carbonfox"
|
theme = "vim_dark_high_contrast"
|
||||||
|
|
||||||
[editor]
|
[editor]
|
||||||
rulers = [80, 100]
|
rulers = [80, 100]
|
||||||
@@ -9,6 +9,7 @@ bufferline = "multiple"
|
|||||||
color-modes = true
|
color-modes = true
|
||||||
end-of-line-diagnostics = "hint"
|
end-of-line-diagnostics = "hint"
|
||||||
popup-border = "popup"
|
popup-border = "popup"
|
||||||
|
scrolloff = 2
|
||||||
|
|
||||||
[editor.soft-wrap]
|
[editor.soft-wrap]
|
||||||
enable = true
|
enable = true
|
||||||
|
|||||||
+12
-2
@@ -1,5 +1,15 @@
|
|||||||
# Global ignore files
|
# Global ignore files
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
# For golang
|
|
||||||
vendor/
|
vendor/
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Build artifacts
|
||||||
|
target/
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
_build/
|
||||||
|
__pycache__/
|
||||||
|
|
||||||
|
# Version control
|
||||||
|
.git/
|
||||||
|
|||||||
@@ -9,6 +9,14 @@ command = "wakatime-ls"
|
|||||||
[language-server.yaml-language-server.config.yaml]
|
[language-server.yaml-language-server.config.yaml]
|
||||||
format = { enable = true }
|
format = { enable = true }
|
||||||
validation = true
|
validation = true
|
||||||
|
schemaStore = { enable = true }
|
||||||
|
|
||||||
|
[language-server.yaml-language-server.config.yaml.schemas]
|
||||||
|
"https://json.schemastore.org/github-workflow.json" = ".github/workflows/*.{yml,yaml}"
|
||||||
|
"https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible-tasks.json" = "roles/{tasks,handlers}/*.{yml,yaml}"
|
||||||
|
"https://raw.githubusercontent.com/redhat-developer/vscode-tekton/refs/heads/main/scheme/tekton.dev/v1beta1_Task.json" = "tasks/*.{yml,yaml}"
|
||||||
|
"https://raw.githubusercontent.com/redhat-developer/vscode-tekton/refs/heads/main/scheme/tekton.dev/v1_Pipeline.json" = "pipelines/*.{yml,yaml}"
|
||||||
|
"https://raw.githubusercontent.com/redhat-developer/vscode-tekton/refs/heads/main/scheme/tekton.dev/v1_PipelineRun.json" = ".tekton/*.{yml,yaml}"
|
||||||
|
|
||||||
[[language]]
|
[[language]]
|
||||||
name = "c"
|
name = "c"
|
||||||
@@ -46,21 +54,45 @@ name = "bash"
|
|||||||
language-servers = ["bash-language-server", "wakatime"]
|
language-servers = ["bash-language-server", "wakatime"]
|
||||||
|
|
||||||
[[language]]
|
[[language]]
|
||||||
name = "html"
|
name = "python"
|
||||||
language-servers = ["wakatime"]
|
language-servers = ["pylsp", "wakatime"]
|
||||||
|
auto-format = true
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "rust"
|
||||||
|
language-servers = ["rust-analyzer", "wakatime"]
|
||||||
|
auto-format = true
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "typescript"
|
||||||
|
language-servers = ["typescript-language-server", "wakatime"]
|
||||||
|
auto-format = true
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "javascript"
|
||||||
|
language-servers = ["typescript-language-server", "wakatime"]
|
||||||
|
auto-format = true
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "html"
|
||||||
|
language-servers = ["vscode-html-language-server", "wakatime"]
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "css"
|
||||||
|
language-servers = ["vscode-css-language-server", "wakatime"]
|
||||||
|
|
||||||
[[language]]
|
[[language]]
|
||||||
name = "lua"
|
name = "lua"
|
||||||
language-servers = ["wakatime"]
|
language-servers = ["lua-language-server", "wakatime"]
|
||||||
|
|
||||||
|
|
||||||
# [[language]]
|
|
||||||
# name = "docker"
|
|
||||||
# language-servers = ["wakatime"]
|
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "dockerfile"
|
||||||
|
language-servers = ["docker-langserver", "wakatime"]
|
||||||
|
|
||||||
[[language]]
|
[[language]]
|
||||||
name = "json"
|
name = "json"
|
||||||
language-servers = ["wakatime"]
|
language-servers = ["vscode-json-language-server", "wakatime"]
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "toml"
|
||||||
|
language-servers = ["taplo", "wakatime"]
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
gui:
|
||||||
|
showBottomLine: false
|
||||||
|
showPanelJumps: true
|
||||||
|
showCommandLog: false
|
||||||
|
showRandomTip: false
|
||||||
|
nerdFontsVersion: ""
|
||||||
|
showFileIcons: false
|
||||||
|
border: rounded
|
||||||
|
filterMode: fuzzy
|
||||||
|
showDivergenceFromBaseBranch: arrowAndNumber
|
||||||
|
animateExplosion: false
|
||||||
|
theme:
|
||||||
|
activeBorderColor:
|
||||||
|
- "#3a97d4"
|
||||||
|
- bold
|
||||||
|
inactiveBorderColor:
|
||||||
|
- "#697386"
|
||||||
|
selectedLineBgColor:
|
||||||
|
- "#3e4043"
|
||||||
|
optionsTextColor:
|
||||||
|
- "#3a97d4"
|
||||||
|
unstagedChangesColor:
|
||||||
|
- "#ed5f74"
|
||||||
|
defaultFgColor:
|
||||||
|
- "#c1c9d2"
|
||||||
|
|
||||||
|
git:
|
||||||
|
autoFetch: true
|
||||||
|
autoRefresh: true
|
||||||
|
branchLogCmd: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --
|
||||||
|
os:
|
||||||
|
editor: hx
|
||||||
|
editPreset: helix
|
||||||
|
customCommands:
|
||||||
|
- key: "C"
|
||||||
|
context: files
|
||||||
|
command: git commit -m '{{index .PromptResponses 0}}' -m '{{index .PromptResponses 1}}'
|
||||||
|
description: "Commit with body"
|
||||||
|
prompts:
|
||||||
|
- type: input
|
||||||
|
title: "Summary"
|
||||||
|
- type: input
|
||||||
|
title: "Description"
|
||||||
|
- key: "b"
|
||||||
|
context: files
|
||||||
|
command: git checkout -b {{index .PromptResponses 0}}
|
||||||
|
description: "New branch from here"
|
||||||
|
prompts:
|
||||||
|
- type: input
|
||||||
|
title: "Branch name"
|
||||||
+88
-266
@@ -1,7 +1,3 @@
|
|||||||
//
|
|
||||||
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/avinal/.config/zellij/config.kdl.bak
|
|
||||||
//
|
|
||||||
|
|
||||||
keybinds clear-defaults=true {
|
keybinds clear-defaults=true {
|
||||||
locked {
|
locked {
|
||||||
bind "Ctrl space" { SwitchToMode "normal"; }
|
bind "Ctrl space" { SwitchToMode "normal"; }
|
||||||
@@ -101,6 +97,12 @@ keybinds clear-defaults=true {
|
|||||||
bind "Alt ]" { NextSwapLayout; }
|
bind "Alt ]" { NextSwapLayout; }
|
||||||
bind "Alt n" { NewPane; }
|
bind "Alt n" { NewPane; }
|
||||||
bind "Alt q" { Quit; }
|
bind "Alt q" { Quit; }
|
||||||
|
bind "Alt f" {
|
||||||
|
LaunchPlugin "filepicker" {
|
||||||
|
floating true
|
||||||
|
close_on_selection true
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
shared_except "locked" "move" {
|
shared_except "locked" "move" {
|
||||||
bind "Alt m" { SwitchToMode "move"; }
|
bind "Alt m" { SwitchToMode "move"; }
|
||||||
@@ -170,120 +172,121 @@ keybinds clear-defaults=true {
|
|||||||
bind "|" { NewPane "right"; SwitchToMode "normal"; }
|
bind "|" { NewPane "right"; SwitchToMode "normal"; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
themes {
|
themes {
|
||||||
carbonfox {
|
vim_dark_high_contrast {
|
||||||
text_unselected {
|
text_unselected {
|
||||||
base 255 255 255
|
base 193 201 210
|
||||||
background 53 53 53
|
background 62 64 67
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
text_selected {
|
text_selected {
|
||||||
base 255 255 255
|
base 255 255 255
|
||||||
background 42 42 42
|
background 62 64 67
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
ribbon_selected {
|
ribbon_selected {
|
||||||
base 53 53 53
|
base 17 17 17
|
||||||
background 37 190 106
|
background 30 166 114
|
||||||
emphasis_0 238 83 150
|
emphasis_0 237 95 116
|
||||||
emphasis_1 255 168 123
|
emphasis_1 217 121 23
|
||||||
emphasis_2 190 149 255
|
emphasis_2 201 110 208
|
||||||
emphasis_3 51 177 255
|
emphasis_3 104 142 241
|
||||||
}
|
}
|
||||||
ribbon_unselected {
|
ribbon_unselected {
|
||||||
base 53 53 53
|
base 17 17 17
|
||||||
background 242 244 248
|
background 227 232 238
|
||||||
emphasis_0 238 83 150
|
emphasis_0 237 95 116
|
||||||
emphasis_1 255 255 255
|
emphasis_1 193 201 210
|
||||||
emphasis_2 51 177 255
|
emphasis_2 104 142 241
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
table_title {
|
table_title {
|
||||||
base 37 190 106
|
base 30 166 114
|
||||||
background 0
|
background 0
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
table_cell_selected {
|
table_cell_selected {
|
||||||
base 255 255 255
|
base 255 255 255
|
||||||
background 42 42 42
|
background 62 64 67
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
table_cell_unselected {
|
table_cell_unselected {
|
||||||
base 255 255 255
|
base 193 201 210
|
||||||
background 53 53 53
|
background 62 64 67
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
list_selected {
|
list_selected {
|
||||||
base 255 255 255
|
base 255 255 255
|
||||||
background 42 42 42
|
background 62 64 67
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
list_unselected {
|
list_unselected {
|
||||||
base 255 255 255
|
base 193 201 210
|
||||||
background 53 53 53
|
background 62 64 67
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 37 190 106
|
emphasis_2 30 166 114
|
||||||
emphasis_3 190 149 255
|
emphasis_3 201 110 208
|
||||||
}
|
}
|
||||||
frame_selected {
|
frame_selected {
|
||||||
base 37 190 106
|
base 30 166 114
|
||||||
background 0
|
background 0
|
||||||
emphasis_0 255 168 123
|
emphasis_0 237 95 116
|
||||||
emphasis_1 61 219 217
|
emphasis_1 58 151 212
|
||||||
emphasis_2 190 149 255
|
emphasis_2 201 110 208
|
||||||
emphasis_3 0
|
emphasis_3 0
|
||||||
}
|
}
|
||||||
frame_highlight {
|
frame_highlight {
|
||||||
base 255 168 123
|
base 217 121 23
|
||||||
background 0
|
background 0
|
||||||
emphasis_0 255 168 123
|
emphasis_0 217 121 23
|
||||||
emphasis_1 255 168 123
|
emphasis_1 217 121 23
|
||||||
emphasis_2 255 168 123
|
emphasis_2 217 121 23
|
||||||
emphasis_3 255 168 123
|
emphasis_3 217 121 23
|
||||||
}
|
}
|
||||||
exit_code_success {
|
exit_code_success {
|
||||||
base 37 190 106
|
base 30 166 114
|
||||||
background 0
|
background 0
|
||||||
emphasis_0 61 219 217
|
emphasis_0 58 151 212
|
||||||
emphasis_1 53 53 53
|
emphasis_1 62 64 67
|
||||||
emphasis_2 190 149 255
|
emphasis_2 201 110 208
|
||||||
emphasis_3 51 177 255
|
emphasis_3 104 142 241
|
||||||
}
|
}
|
||||||
exit_code_error {
|
exit_code_error {
|
||||||
base 238 83 150
|
base 237 95 116
|
||||||
background 0
|
background 0
|
||||||
emphasis_0 248 225 124
|
emphasis_0 217 121 23
|
||||||
emphasis_1 0
|
emphasis_1 0
|
||||||
emphasis_2 0
|
emphasis_2 0
|
||||||
emphasis_3 0
|
emphasis_3 0
|
||||||
}
|
}
|
||||||
multiplayer_user_colors {
|
multiplayer_user_colors {
|
||||||
player_1 190 149 255
|
player_1 201 110 208
|
||||||
player_2 51 177 255
|
player_2 104 142 241
|
||||||
player_3 0
|
player_3 0
|
||||||
player_4 248 225 124
|
player_4 217 121 23
|
||||||
player_5 61 219 217
|
player_5 58 151 212
|
||||||
player_6 0
|
player_6 0
|
||||||
player_7 238 83 150
|
player_7 237 95 116
|
||||||
player_8 0
|
player_8 0
|
||||||
player_9 0
|
player_9 0
|
||||||
player_10 0
|
player_10 0
|
||||||
@@ -291,8 +294,6 @@ themes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plugin aliases - can be used to change the implementation of Zellij
|
|
||||||
// changing these requires a restart to take effect
|
|
||||||
plugins {
|
plugins {
|
||||||
about location="zellij:about"
|
about location="zellij:about"
|
||||||
compact-bar location="zellij:compact-bar"
|
compact-bar location="zellij:compact-bar"
|
||||||
@@ -310,200 +311,21 @@ plugins {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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 {
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use a simplified UI without special fonts (arrow glyphs)
|
|
||||||
// Options:
|
|
||||||
// - true
|
|
||||||
// - false (Default)
|
|
||||||
//
|
|
||||||
simplified_ui false
|
simplified_ui false
|
||||||
|
theme "vim_dark_high_contrast"
|
||||||
// Choose the theme that is specified in the themes section.
|
|
||||||
// Default: default
|
|
||||||
//
|
|
||||||
theme "carbonfox"
|
|
||||||
|
|
||||||
// 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 "terminal"
|
default_layout "terminal"
|
||||||
|
|
||||||
// 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
|
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
|
copy_on_select true
|
||||||
|
scrollback_editor "hx"
|
||||||
// Path to the default editor to use to edit pane scrollbuffer
|
|
||||||
// Default: $EDITOR or $VISUAL
|
|
||||||
scrollback_editor "/usr/local/bin/hx"
|
|
||||||
|
|
||||||
// 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: <RANDOM>
|
|
||||||
//
|
|
||||||
// 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 true
|
session_serialization true
|
||||||
|
|
||||||
// Whether pane viewports are serialized along with the session, default is false
|
|
||||||
// Options:
|
|
||||||
// - true
|
|
||||||
// - false (default)
|
|
||||||
//
|
|
||||||
serialize_pane_viewport true
|
serialize_pane_viewport true
|
||||||
|
|
||||||
// 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 100000
|
scrollback_lines_to_serialize 100000
|
||||||
|
|
||||||
// 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
|
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 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
|
show_startup_tips false
|
||||||
|
|
||||||
// Whether to show release notes on first version run
|
web_client {
|
||||||
// Default: true
|
cursor_blink false
|
||||||
//
|
cursor_style "block"
|
||||||
// show_release_notes false
|
cursor_inactive_style "outline"
|
||||||
|
font "Iosevka Fixed"
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
layout {
|
layout {
|
||||||
|
pane {
|
||||||
|
borderless true
|
||||||
|
size 1
|
||||||
|
plugin location="zellij:compact-bar"
|
||||||
|
}
|
||||||
pane split_direction="horizontal" {
|
pane split_direction="horizontal" {
|
||||||
pane {
|
pane {
|
||||||
command "hx"
|
command "hx"
|
||||||
@@ -11,9 +16,4 @@ layout {
|
|||||||
size "25%"
|
size "25%"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pane {
|
|
||||||
borderless true
|
|
||||||
size 1
|
|
||||||
plugin location="zellij:compact-bar"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
layout {
|
|
||||||
pane {
|
|
||||||
borderless true
|
|
||||||
size 1
|
|
||||||
plugin location="zellij:compact-bar"
|
|
||||||
}
|
|
||||||
pane split_direction="horizontal" {
|
|
||||||
pane {
|
|
||||||
edit "."
|
|
||||||
focus true
|
|
||||||
size "75%"
|
|
||||||
borderless true
|
|
||||||
}
|
|
||||||
pane {
|
|
||||||
size "25%"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
layout {
|
||||||
|
pane {
|
||||||
|
borderless true
|
||||||
|
size 1
|
||||||
|
plugin location="zellij:compact-bar"
|
||||||
|
}
|
||||||
|
pane split_direction="vertical" {
|
||||||
|
pane {
|
||||||
|
command "hx-pick"
|
||||||
|
args "."
|
||||||
|
focus true
|
||||||
|
size "60%"
|
||||||
|
borderless true
|
||||||
|
}
|
||||||
|
pane stacked=true {
|
||||||
|
pane {
|
||||||
|
name "LazyGit"
|
||||||
|
command "lazygit"
|
||||||
|
}
|
||||||
|
pane {
|
||||||
|
name "Terminal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,9 @@
|
|||||||
layout {
|
layout {
|
||||||
|
pane {
|
||||||
|
borderless true
|
||||||
|
size 1
|
||||||
|
plugin location="zellij:compact-bar"
|
||||||
|
}
|
||||||
pane split_direction="vertical" {
|
pane split_direction="vertical" {
|
||||||
pane {
|
pane {
|
||||||
edit "."
|
edit "."
|
||||||
@@ -16,7 +21,4 @@ layout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pane borderless=true size=1 {
|
|
||||||
plugin location="zellij:compact-bar"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
layout {
|
|
||||||
tab_template name="ui" {
|
|
||||||
pane {
|
|
||||||
borderless true
|
|
||||||
size 1
|
|
||||||
plugin location="zellij:compact-bar"
|
|
||||||
}
|
|
||||||
children
|
|
||||||
}
|
|
||||||
|
|
||||||
default_tab_template {
|
|
||||||
pane {
|
|
||||||
borderless true
|
|
||||||
size 1
|
|
||||||
plugin location="zellij:compact-bar"
|
|
||||||
}
|
|
||||||
pane {
|
|
||||||
pane
|
|
||||||
pane
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
layout {
|
layout {
|
||||||
pane split_direction="vertical" {
|
|
||||||
pane {
|
|
||||||
name "Terminal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pane {
|
pane {
|
||||||
borderless true
|
borderless true
|
||||||
size 1
|
size 1
|
||||||
plugin location="zellij:compact-bar"
|
plugin location="zellij:compact-bar"
|
||||||
}
|
}
|
||||||
|
pane split_direction="vertical" {
|
||||||
|
pane {
|
||||||
|
name "Terminal"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+14
-10
@@ -1,5 +1,5 @@
|
|||||||
[init]
|
[init]
|
||||||
templateDir = /home/avinal/.git-template
|
templateDir = ~/.git-template
|
||||||
[rh-pre-commit]
|
[rh-pre-commit]
|
||||||
checkSecrets = true
|
checkSecrets = true
|
||||||
enableLocalConfig = false
|
enableLocalConfig = false
|
||||||
@@ -12,17 +12,21 @@
|
|||||||
[gpg]
|
[gpg]
|
||||||
program = gpg
|
program = gpg
|
||||||
[credential]
|
[credential]
|
||||||
helper = store
|
helper = /usr/libexec/git-core/git-credential-libsecret
|
||||||
[core]
|
[core]
|
||||||
editor = hx
|
editor = hx
|
||||||
|
[merge]
|
||||||
|
conflictstyle = zdiff3
|
||||||
|
[diff]
|
||||||
|
colorMoved = default
|
||||||
[rh-pre-commit "commit-msg"]
|
[rh-pre-commit "commit-msg"]
|
||||||
signOff = true
|
signOff = true
|
||||||
[sendemail]
|
[sendemail]
|
||||||
smtpServer = smtp.gmail.com
|
smtpServer = smtp.gmail.com
|
||||||
smtpEncryption = tls
|
smtpEncryption = tls
|
||||||
smtpServerPort = 587
|
smtpServerPort = 587
|
||||||
confirm = always
|
confirm = always
|
||||||
suppresscc = self
|
suppresscc = self
|
||||||
smtpUser = avinal.xlvii@gmail.com
|
smtpUser = avinal.xlvii@gmail.com
|
||||||
from = "Avinal Kumar <avinal.xlvii@gmail.com>"
|
from = "Avinal Kumar <avinal.xlvii@gmail.com>"
|
||||||
cc = "Avinal Kumar <avinal.xlvii@gmail.com>"
|
cc = "Avinal Kumar <avinal.xlvii@gmail.com>"
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
*.bak
|
||||||
|
**/state.yml
|
||||||
|
**/*.log
|
||||||
|
|
||||||
|
# Secrets - never commit these
|
||||||
|
.wakatime.cfg
|
||||||
|
.config/gh/hosts.yml
|
||||||
|
pikvm/vnc
|
||||||
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# hx-pick: loop between file picker and helix
|
||||||
|
# Select a file -> edit in helix -> back to picker on exit
|
||||||
|
# Press Esc/Ctrl-C in the picker to drop to a normal shell
|
||||||
|
|
||||||
|
dir="${1:-.}"
|
||||||
|
cd "$dir" || exit 1
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
file=$(find . -type f \
|
||||||
|
-not -path './.git/*' \
|
||||||
|
-not -path '*/node_modules/*' \
|
||||||
|
-not -path '*/vendor/*' \
|
||||||
|
-not -path '*/__pycache__/*' \
|
||||||
|
-not -path '*/target/*' \
|
||||||
|
-not -path '*/.build/*' \
|
||||||
|
| sort \
|
||||||
|
| fzf --height=100% --layout=reverse --border=rounded \
|
||||||
|
--prompt="Edit > " \
|
||||||
|
--header="Esc to exit to shell" \
|
||||||
|
--preview='head -100 {}' \
|
||||||
|
--preview-window=right:50%:wrap)
|
||||||
|
|
||||||
|
[ -z "$file" ] && break
|
||||||
|
hx "$file"
|
||||||
|
done
|
||||||
+5
-1
@@ -22,7 +22,11 @@ _darcs
|
|||||||
^/LICENSE.*
|
^/LICENSE.*
|
||||||
^/COPYING
|
^/COPYING
|
||||||
|
|
||||||
# Ignore secrets
|
# Ignore non-config items
|
||||||
|
archive
|
||||||
|
themes
|
||||||
.wakatime.cfg
|
.wakatime.cfg
|
||||||
logid
|
logid
|
||||||
bootstrap
|
bootstrap
|
||||||
|
themetest.md
|
||||||
|
pikvm
|
||||||
|
|||||||
@@ -1,174 +1,94 @@
|
|||||||
# If you come from bash you might have to change your $PATH.
|
# === Environment ===
|
||||||
export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$PATH
|
|
||||||
export PATH=$PATH:/usr/local/go/bin
|
|
||||||
export PATH=$PATH:/home/avinal/go/bin
|
|
||||||
export PATH=$PATH:/home/linuxbrew/.linuxbrew/bin
|
|
||||||
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
|
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
export XDG_STATE_HOME="$HOME/.local/state"
|
export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
export TINYGOROOT="$HOME/tinygo"
|
|
||||||
|
export PATH="$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH"
|
||||||
|
export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"
|
||||||
|
export PATH="$PATH:$HOME/tinygo/bin"
|
||||||
|
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
|
||||||
|
|
||||||
|
export EDITOR='hx'
|
||||||
export OC_EDITOR="hx"
|
export OC_EDITOR="hx"
|
||||||
# Generated for envman. Do not edit.
|
export SSH_AUTH_SOCK="/run/user/$(id -u)/keyring/ssh"
|
||||||
[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
|
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
|
||||||
#Path to your oh-my-zsh installation.
|
|
||||||
|
|
||||||
export ZSH="$HOME/.oh-my-zsh"
|
|
||||||
|
|
||||||
# Set name of the theme to load --- if set to "random", it will
|
|
||||||
# load a random theme each time oh-my-zsh is loaded, in which case,
|
|
||||||
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
|
||||||
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
|
||||||
ZSH_THEME="robbyrussell"
|
|
||||||
|
|
||||||
# Set list of themes to pick from when loading at random
|
|
||||||
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
|
||||||
# a theme from this variable instead of looking in $ZSH/themes/
|
|
||||||
# If set to an empty array, this variable will have no effect.
|
|
||||||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
|
||||||
|
|
||||||
# Uncomment the following line to use case-sensitive completion.
|
|
||||||
CASE_SENSITIVE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to use hyphen-insensitive completion.
|
|
||||||
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
|
||||||
# HYPHEN_INSENSITIVE="true"
|
|
||||||
|
|
||||||
# Uncomment one of the following lines to change the auto-update behavior
|
|
||||||
# zstyle ':omz:update' mode disabled # disable automatic updates
|
|
||||||
# zstyle ':omz:update' mode auto # update automatically without asking
|
|
||||||
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
|
||||||
|
|
||||||
# Uncomment the following line to change how often to auto-update (in days).
|
|
||||||
# zstyle ':omz:update' frequency 13
|
|
||||||
|
|
||||||
# Uncomment the following line if pasting URLs and other text is messed up.
|
|
||||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
|
||||||
#
|
|
||||||
# Uncomment the following line to disable colors in ls.
|
|
||||||
# DISABLE_LS_COLORS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to disable auto-setting terminal title.
|
|
||||||
# DISABLE_AUTO_TITLE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to enable command auto-correction.
|
|
||||||
# ENABLE_CORRECTION="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
|
||||||
# You can also set it to another string to have that shown instead of the default red dots.
|
|
||||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
|
||||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
|
||||||
# COMPLETION_WAITING_DOTS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line if you want to disable marking untracked files
|
|
||||||
# under VCS as dirty. This makes repository status check for large repositories
|
|
||||||
# much, much faster.
|
|
||||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
|
||||||
|
|
||||||
# Uncomment the following line if you want to change the command execution time
|
|
||||||
# stamp shown in the history command output.
|
|
||||||
# You can set one of the optional three formats:
|
|
||||||
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
|
||||||
# or set a custom format using the strftime function format specifications,
|
|
||||||
# see 'man strftime' for details.
|
|
||||||
# HIST_STAMPS="mm/dd/yyyy"
|
|
||||||
|
|
||||||
# Would you like to use another custom folder than $ZSH/custom?
|
|
||||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
|
||||||
|
|
||||||
# Which plugins would you like to load?
|
|
||||||
# Standard plugins can be found in $ZSH/plugins/
|
|
||||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
|
||||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
|
||||||
# Add wisely, as too many plugins slow down shell startup.
|
|
||||||
#
|
|
||||||
|
|
||||||
plugins=(
|
|
||||||
git
|
|
||||||
zsh-autosuggestions
|
|
||||||
zsh-syntax-highlighting
|
|
||||||
dirhistory
|
|
||||||
history
|
|
||||||
kubectl
|
|
||||||
docker
|
|
||||||
wakatime
|
|
||||||
golang
|
|
||||||
fzf
|
|
||||||
fzf-tab
|
|
||||||
)
|
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
|
||||||
|
|
||||||
# User configuration
|
|
||||||
|
|
||||||
export MANPATH="/usr/local/man:$MANPATH"
|
export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
export FZF_DEFAULT_OPTS='--height 25% --layout=reverse --border'
|
||||||
|
|
||||||
# You may need to manually set your language environment
|
# Claude Code
|
||||||
|
export CLAUDE_CODE_USE_VERTEX=1
|
||||||
|
export CLOUD_ML_REGION=us-east5
|
||||||
|
export ANTHROPIC_VERTEX_PROJECT_ID=$GCP_PRODUCT_ID
|
||||||
|
|
||||||
## SSH auth
|
# === Zinit ===
|
||||||
export SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
|
ZINIT_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/zinit/zinit.git"
|
||||||
|
if [ ! -d "$ZINIT_HOME" ]; then
|
||||||
|
mkdir -p "$(dirname "$ZINIT_HOME")"
|
||||||
|
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
|
||||||
|
fi
|
||||||
|
source "${ZINIT_HOME}/zinit.zsh"
|
||||||
|
|
||||||
|
# OMZ core libs
|
||||||
|
zinit snippet OMZL::async_prompt.zsh
|
||||||
|
zinit snippet OMZL::git.zsh
|
||||||
|
zinit snippet OMZL::prompt_info_functions.zsh
|
||||||
|
zinit snippet OMZL::theme-and-appearance.zsh
|
||||||
|
zinit snippet OMZL::key-bindings.zsh
|
||||||
|
zinit snippet OMZL::clipboard.zsh
|
||||||
|
zinit snippet OMZT::robbyrussell
|
||||||
|
|
||||||
# export LANG=en_US.UTF-8
|
# Plugins
|
||||||
|
zinit light zsh-users/zsh-autosuggestions
|
||||||
|
zinit light zsh-users/zsh-syntax-highlighting
|
||||||
|
zinit light Aloxaf/fzf-tab
|
||||||
|
|
||||||
# Preferred editor for local and remote sessions
|
# OMZ plugin snippets for completions and aliases
|
||||||
# if [[ -n $SSH_CONNECTION ]]; then
|
zinit snippet OMZP::git
|
||||||
# export EDITOR='vim'
|
zinit snippet OMZP::kubectl
|
||||||
# else
|
zinit snippet OMZP::golang
|
||||||
# export EDITOR='mvim'
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# Completion settings
|
# Docker completions (plugin has a subdirectory, needs ice)
|
||||||
|
zinit ice as"completion"
|
||||||
|
zinit snippet OMZP::docker/completions/_docker
|
||||||
|
|
||||||
|
# Wakatime (separate repo, not a standard OMZ plugin)
|
||||||
|
zinit light sobolevn/wakatime-zsh-plugin
|
||||||
|
|
||||||
|
# === Completions ===
|
||||||
|
autoload -Uz compinit && compinit
|
||||||
|
zinit cdreplay -q
|
||||||
|
|
||||||
|
CASE_SENSITIVE="true"
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||||
zstyle ':completion:*' menu no
|
zstyle ':completion:*' menu no
|
||||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
|
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
|
||||||
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
|
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'
|
||||||
|
|
||||||
# Compilation flags
|
# === Tool Initialization ===
|
||||||
# export ARCHFLAGS="-arch x86_64"
|
|
||||||
|
|
||||||
# Utilities for toolbox
|
|
||||||
#function _toolbox_code() {
|
|
||||||
#if [ -f /run/.containerenv ] && [ -f /run/.toolboxenv ]; then
|
|
||||||
#if cat /run/.containerenv | sed -n '2 p' | awk -F '"' 'NF>2{print $2}' | grep $1;
|
|
||||||
#alias toolbox-code='function _toolbox_code(){if [ -f /run/.containerenv ] && [ -f /run/.toolboxenv ]; then
|
|
||||||
|
|
||||||
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
|
||||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
|
||||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
|
||||||
# For a full list of active aliases, run `alias`.
|
|
||||||
#
|
|
||||||
# Example aliases
|
|
||||||
# alias zshconfig="mate ~/.zshrc"
|
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
|
||||||
#
|
|
||||||
|
|
||||||
## Custom Functions
|
|
||||||
znew() {
|
|
||||||
local layout_name="$1"
|
|
||||||
local tab_name="$2"
|
|
||||||
local folder_name="$3"
|
|
||||||
|
|
||||||
zellij action new-tab --layout "$layout_name" --name "$tab_name" --cwd "$folder_name"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export FZF_DEFAULT_OPTS='--height 25% --layout=reverse --border'
|
|
||||||
|
|
||||||
alias work-git='git config user.email "avinal@redhat.com"'
|
|
||||||
# eval "$(starship init zsh)"
|
|
||||||
eval "$(zoxide init zsh)"
|
|
||||||
# eval "$(fzf --zsh)"
|
|
||||||
eval "$(atuin init zsh)"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
|
||||||
. "$HOME/.atuin/bin/env"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
||||||
|
|
||||||
|
# Atuin env (adds ~/.atuin/bin to PATH)
|
||||||
|
[ -f "$HOME/.atuin/bin/env" ] && . "$HOME/.atuin/bin/env"
|
||||||
|
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
unalias zi 2>/dev/null; alias zi='__zoxide_zi'
|
||||||
|
eval "$(atuin init zsh)"
|
||||||
|
|
||||||
|
# Atuin as autosuggestion strategy (must be after atuin init)
|
||||||
|
export ZSH_AUTOSUGGEST_STRATEGY=(atuin history completion)
|
||||||
|
|
||||||
|
# Accept autosuggestion word-by-word with Ctrl+Right
|
||||||
|
bindkey '^[[1;5C' forward-word
|
||||||
|
|
||||||
|
# === Functions ===
|
||||||
|
znew() {
|
||||||
|
zellij action new-tab --layout "$1" --name "$2" --cwd "$3"
|
||||||
|
}
|
||||||
|
|
||||||
|
# === Aliases ===
|
||||||
|
alias work-git='git config user.email "avinal@redhat.com"'
|
||||||
|
|||||||
Executable
+301
@@ -0,0 +1,301 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
DOTFILES_DIR="$(dirname "$SCRIPT_DIR")"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: $0 <palette-name>"
|
||||||
|
echo ""
|
||||||
|
echo "Available palettes:"
|
||||||
|
for f in "$SCRIPT_DIR/palettes/"*.sh; do
|
||||||
|
basename "$f" .sh
|
||||||
|
done
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $# -lt 1 ]] && usage
|
||||||
|
|
||||||
|
PALETTE="$SCRIPT_DIR/palettes/$1.sh"
|
||||||
|
[[ ! -f "$PALETTE" ]] && echo "Palette '$1' not found." && usage
|
||||||
|
|
||||||
|
source "$PALETTE"
|
||||||
|
|
||||||
|
strip() { echo "${1#\#}"; }
|
||||||
|
|
||||||
|
# RGB decimal from hex (for zellij)
|
||||||
|
rgb() {
|
||||||
|
local hex="${1#\#}"
|
||||||
|
printf "%d %d %d" "0x${hex:0:2}" "0x${hex:2:2}" "0x${hex:4:2}"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Applying theme: $THEME_NAME"
|
||||||
|
echo "================================"
|
||||||
|
|
||||||
|
# --- Ghostty theme ---
|
||||||
|
GHOSTTY_THEME="$DOTFILES_DIR/.config/ghostty/themes/$THEME_NAME"
|
||||||
|
cat > "$GHOSTTY_THEME" << EOF
|
||||||
|
palette = 0=$BLACK
|
||||||
|
palette = 1=$RED
|
||||||
|
palette = 2=$GREEN
|
||||||
|
palette = 3=$YELLOW
|
||||||
|
palette = 4=$BLUE
|
||||||
|
palette = 5=$MAGENTA
|
||||||
|
palette = 6=$CYAN
|
||||||
|
palette = 7=$WHITE
|
||||||
|
|
||||||
|
palette = 8=$BRIGHT_BLACK
|
||||||
|
palette = 9=$BRIGHT_RED
|
||||||
|
palette = 10=$BRIGHT_GREEN
|
||||||
|
palette = 11=$BRIGHT_YELLOW
|
||||||
|
palette = 12=$BRIGHT_BLUE
|
||||||
|
palette = 13=$BRIGHT_MAGENTA
|
||||||
|
palette = 14=$BRIGHT_CYAN
|
||||||
|
palette = 15=$BRIGHT_WHITE
|
||||||
|
|
||||||
|
background = $BG
|
||||||
|
foreground = $FG
|
||||||
|
cursor-color = $CURSOR
|
||||||
|
cursor-text = $BG
|
||||||
|
selection-background = $SELECTION_BG
|
||||||
|
selection-foreground = $SELECTION_FG
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Update ghostty config to reference this theme
|
||||||
|
sed -i "s/^theme = .*/theme = \"$THEME_NAME\"/" "$DOTFILES_DIR/.config/ghostty/config"
|
||||||
|
echo "[ok] Ghostty theme: $GHOSTTY_THEME"
|
||||||
|
|
||||||
|
# --- Helix ---
|
||||||
|
sed -i "s/^theme = .*/theme = \"$HELIX_THEME\"/" "$DOTFILES_DIR/.config/helix/config.toml"
|
||||||
|
echo "[ok] Helix theme: $HELIX_THEME"
|
||||||
|
|
||||||
|
# --- Alacritty ---
|
||||||
|
ALACRITTY="$DOTFILES_DIR/.config/alacritty/alacritty.toml"
|
||||||
|
if [[ -f "$ALACRITTY" ]]; then
|
||||||
|
cat > "$ALACRITTY" << EOF
|
||||||
|
[window]
|
||||||
|
padding = { x = 7, y = 5 }
|
||||||
|
dynamic_padding = true
|
||||||
|
dynamic_title = false
|
||||||
|
|
||||||
|
[font]
|
||||||
|
normal = { family = "Iosevka Term", style = "Regular" }
|
||||||
|
bold = { family = "Iosevka Term", style = "Bold" }
|
||||||
|
italic = { family = "Iosevka Term", style = "Italic" }
|
||||||
|
bold_italic = { family = "Iosevka Term", style = "Bold Italic" }
|
||||||
|
size = 14
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "$BG"
|
||||||
|
foreground = "$FG"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = "$BG"
|
||||||
|
cursor = "$CURSOR"
|
||||||
|
|
||||||
|
[colors.selection]
|
||||||
|
text = "$SELECTION_FG"
|
||||||
|
background = "$SELECTION_BG"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "$BLACK"
|
||||||
|
red = "$RED"
|
||||||
|
green = "$GREEN"
|
||||||
|
yellow = "$YELLOW"
|
||||||
|
blue = "$BLUE"
|
||||||
|
magenta = "$MAGENTA"
|
||||||
|
cyan = "$CYAN"
|
||||||
|
white = "$WHITE"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "$BRIGHT_BLACK"
|
||||||
|
red = "$BRIGHT_RED"
|
||||||
|
green = "$BRIGHT_GREEN"
|
||||||
|
yellow = "$BRIGHT_YELLOW"
|
||||||
|
blue = "$BRIGHT_BLUE"
|
||||||
|
magenta = "$BRIGHT_MAGENTA"
|
||||||
|
cyan = "$BRIGHT_CYAN"
|
||||||
|
white = "$BRIGHT_WHITE"
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style = { shape = "Underline", blinking = "On" }
|
||||||
|
|
||||||
|
[selection]
|
||||||
|
save_to_clipboard = true
|
||||||
|
EOF
|
||||||
|
echo "[ok] Alacritty colors updated"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- Lazygit ---
|
||||||
|
LAZYGIT="$DOTFILES_DIR/.config/lazygit/config.yml"
|
||||||
|
if [[ -f "$LAZYGIT" ]]; then
|
||||||
|
python3 -c "
|
||||||
|
import sys, re
|
||||||
|
|
||||||
|
config = open('$LAZYGIT').read()
|
||||||
|
|
||||||
|
new_theme = ''' theme:
|
||||||
|
activeBorderColor:
|
||||||
|
- \"$ACCENT\"
|
||||||
|
- bold
|
||||||
|
inactiveBorderColor:
|
||||||
|
- \"$MUTED\"
|
||||||
|
selectedLineBgColor:
|
||||||
|
- \"$SURFACE\"
|
||||||
|
optionsTextColor:
|
||||||
|
- \"$CYAN\"
|
||||||
|
unstagedChangesColor:
|
||||||
|
- \"$RED\"
|
||||||
|
defaultFgColor:
|
||||||
|
- \"$FG\"'''
|
||||||
|
|
||||||
|
config = re.sub(
|
||||||
|
r' theme:.*?(?=\n\w|\ngit:|\ncustomCommands:|\nos:)',
|
||||||
|
new_theme + '\n',
|
||||||
|
config,
|
||||||
|
flags=re.DOTALL
|
||||||
|
)
|
||||||
|
open('$LAZYGIT', 'w').write(config)
|
||||||
|
"
|
||||||
|
echo "[ok] Lazygit theme updated"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- Zellij ---
|
||||||
|
ZELLIJ="$DOTFILES_DIR/.config/zellij/config.kdl"
|
||||||
|
if [[ -f "$ZELLIJ" ]]; then
|
||||||
|
python3 -c "
|
||||||
|
import re
|
||||||
|
|
||||||
|
config = open('$ZELLIJ').read()
|
||||||
|
|
||||||
|
new_theme = '''themes {
|
||||||
|
$THEME_NAME {
|
||||||
|
text_unselected {
|
||||||
|
base $(rgb "$FG")
|
||||||
|
background $(rgb "$SURFACE")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
text_selected {
|
||||||
|
base $(rgb "$BRIGHT_WHITE")
|
||||||
|
background $(rgb "$SELECTION_BG")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
ribbon_selected {
|
||||||
|
base $(rgb "$BG")
|
||||||
|
background $(rgb "$GREEN")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$YELLOW")
|
||||||
|
emphasis_2 $(rgb "$MAGENTA")
|
||||||
|
emphasis_3 $(rgb "$BLUE")
|
||||||
|
}
|
||||||
|
ribbon_unselected {
|
||||||
|
base $(rgb "$BG")
|
||||||
|
background $(rgb "$WHITE")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$FG")
|
||||||
|
emphasis_2 $(rgb "$BLUE")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
table_title {
|
||||||
|
base $(rgb "$GREEN")
|
||||||
|
background 0
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
table_cell_selected {
|
||||||
|
base $(rgb "$BRIGHT_WHITE")
|
||||||
|
background $(rgb "$SELECTION_BG")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
table_cell_unselected {
|
||||||
|
base $(rgb "$FG")
|
||||||
|
background $(rgb "$SURFACE")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
list_selected {
|
||||||
|
base $(rgb "$BRIGHT_WHITE")
|
||||||
|
background $(rgb "$SELECTION_BG")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
list_unselected {
|
||||||
|
base $(rgb "$FG")
|
||||||
|
background $(rgb "$SURFACE")
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$GREEN")
|
||||||
|
emphasis_3 $(rgb "$MAGENTA")
|
||||||
|
}
|
||||||
|
frame_selected {
|
||||||
|
base $(rgb "$GREEN")
|
||||||
|
background 0
|
||||||
|
emphasis_0 $(rgb "$RED")
|
||||||
|
emphasis_1 $(rgb "$CYAN")
|
||||||
|
emphasis_2 $(rgb "$MAGENTA")
|
||||||
|
emphasis_3 0
|
||||||
|
}
|
||||||
|
frame_highlight {
|
||||||
|
base $(rgb "$YELLOW")
|
||||||
|
background 0
|
||||||
|
emphasis_0 $(rgb "$YELLOW")
|
||||||
|
emphasis_1 $(rgb "$YELLOW")
|
||||||
|
emphasis_2 $(rgb "$YELLOW")
|
||||||
|
emphasis_3 $(rgb "$YELLOW")
|
||||||
|
}
|
||||||
|
exit_code_success {
|
||||||
|
base $(rgb "$GREEN")
|
||||||
|
background 0
|
||||||
|
emphasis_0 $(rgb "$CYAN")
|
||||||
|
emphasis_1 $(rgb "$SURFACE")
|
||||||
|
emphasis_2 $(rgb "$MAGENTA")
|
||||||
|
emphasis_3 $(rgb "$BLUE")
|
||||||
|
}
|
||||||
|
exit_code_error {
|
||||||
|
base $(rgb "$RED")
|
||||||
|
background 0
|
||||||
|
emphasis_0 $(rgb "$YELLOW")
|
||||||
|
emphasis_1 0
|
||||||
|
emphasis_2 0
|
||||||
|
emphasis_3 0
|
||||||
|
}
|
||||||
|
multiplayer_user_colors {
|
||||||
|
player_1 $(rgb "$MAGENTA")
|
||||||
|
player_2 $(rgb "$BLUE")
|
||||||
|
player_3 0
|
||||||
|
player_4 $(rgb "$YELLOW")
|
||||||
|
player_5 $(rgb "$CYAN")
|
||||||
|
player_6 0
|
||||||
|
player_7 $(rgb "$RED")
|
||||||
|
player_8 0
|
||||||
|
player_9 0
|
||||||
|
player_10 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}'''
|
||||||
|
|
||||||
|
config = re.sub(r'themes \{.*?\n\}', new_theme, config, flags=re.DOTALL)
|
||||||
|
config = re.sub(r'theme \".*?\"', 'theme \"$THEME_NAME\"', config)
|
||||||
|
open('$ZELLIJ', 'w').write(config)
|
||||||
|
"
|
||||||
|
echo "[ok] Zellij theme: $THEME_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "================================"
|
||||||
|
echo "Done! Restart your tools to see changes."
|
||||||
|
echo "Helix theme is set in config, no restart needed for new files."
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
# vim_dark_high_contrast - from Helix editor theme
|
||||||
|
# Source: /usr/lib64/helix/runtime/themes/vim_dark_high_contrast.toml
|
||||||
|
|
||||||
|
THEME_NAME="vim_dark_high_contrast"
|
||||||
|
HELIX_THEME="vim_dark_high_contrast"
|
||||||
|
|
||||||
|
# Base
|
||||||
|
BG="#000000"
|
||||||
|
FG="#c1c9d2"
|
||||||
|
CURSOR="#c1c9d2"
|
||||||
|
SELECTION_BG="#3e4043"
|
||||||
|
SELECTION_FG="#ffffff"
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
BLACK="#000000"
|
||||||
|
RED="#ed5f74"
|
||||||
|
GREEN="#1ea672"
|
||||||
|
YELLOW="#d97917"
|
||||||
|
BLUE="#688ef1"
|
||||||
|
MAGENTA="#c96ed0"
|
||||||
|
CYAN="#3a97d4"
|
||||||
|
WHITE="#e3e8ee"
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
BRIGHT_BLACK="#697386"
|
||||||
|
BRIGHT_RED="#fbb5b2"
|
||||||
|
BRIGHT_GREEN="#85d996"
|
||||||
|
BRIGHT_YELLOW="#efc078"
|
||||||
|
BRIGHT_BLUE="#9fcdff"
|
||||||
|
BRIGHT_MAGENTA="#f0b4e4"
|
||||||
|
BRIGHT_CYAN="#7fd3ed"
|
||||||
|
BRIGHT_WHITE="#ffffff"
|
||||||
|
|
||||||
|
# Dark/muted variants (for backgrounds, subtle highlights)
|
||||||
|
DARK_RED="#742833"
|
||||||
|
DARK_GREEN="#00643c"
|
||||||
|
DARK_YELLOW="#6e3500"
|
||||||
|
DARK_BLUE="#2c4074"
|
||||||
|
DARK_MAGENTA="#602864"
|
||||||
|
DARK_CYAN="#144c71"
|
||||||
|
DARK_WHITE="#3e4043"
|
||||||
|
|
||||||
|
# Semantic
|
||||||
|
ACCENT="$CYAN"
|
||||||
|
SUCCESS="$GREEN"
|
||||||
|
WARNING="$YELLOW"
|
||||||
|
ERROR="$RED"
|
||||||
|
INFO="$BLUE"
|
||||||
|
MUTED="$BRIGHT_BLACK"
|
||||||
|
SURFACE="$DARK_WHITE"
|
||||||
Reference in New Issue
Block a user