dev: automated commit - 2025-10-27 19:42:38

This commit is contained in:
Mariano Z. 2025-10-27 19:42:38 -03:00
parent 9462eda5e2
commit 83437f5901
4 changed files with 307 additions and 46 deletions

View file

@ -83,7 +83,7 @@ set -g terminal-overrides ',xterm-256color:Tc'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'catppuccin/tmux#v0.2.0'
set -g @plugin 'uhs-robert/tmux-oasis'
set -g @plugin 'tmux-plugins/tmux-battery' # Re-enabled with our fixes
set -g @plugin 'MaximilianGaedig/tmux-filter'
@ -93,45 +93,17 @@ set -g @yank_selection_mouse 'clipboard'
set -g @yank_selection 'clipboard'
set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default
# Catppuccin Theme Configuration
# Oasis Theme Configuration
# -------------------------
set -g status-position top
set -g @catppuccin_window_left_separator "█"
set -g @catppuccin_window_right_separator "█"
set -g @catppuccin_window_number_position "left"
set -g @catppuccin_window_middle_separator "█ "
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W#{?window_zoomed_flag,(🔍),}"
set -g @catppuccin_window_default_text "#W"
set -g @oasis_flavor "twilight" # Twilight Purple variant
# Other options: "night", "midnight", "abyss", "starlight", "desert", "sol", "canyon", "dune", "cactus", "mirage", "lagoon", "rose", "dawn"
# Determine status modules based on hostname
run-shell "if [ $(hostname) = 'fw' ]; then \
tmux set -g @catppuccin_status_modules_right 'date_time battery session'; \
else \
tmux set -g @catppuccin_status_modules_right 'date_time session'; \
# Battery module - determine if battery is available
run-shell "if [ -d /sys/class/power_supply/BAT* ]; then \
tmux set -g @status_right_append_section '#{tmux_battery_status_bg}'; \
fi"
set -g @catppuccin_status_left_separator ""
set -g @catppuccin_status_right_separator " "
set -g @catppuccin_status_right_separator_inverse "yes"
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_connect_separator "yes"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
# Rose Pine Color Scheme
set -g @catppuccin_pane_color "#1e1e2e"
set -g @catppuccin_pane_background_color "#181825"
set -g @catppuccin_window_current_color "#eb6f92"
set -g @catppuccin_window_current_background_color "#f5e0dc"
set -g @catppuccin_window_default_color "#ebbcba"
set -g @catppuccin_window_default_background_color "#f5e0dc"
set -g @catppuccin_session_color "#9ccfd8"
set -g @catppuccin_session_background_color "#f5e0dc"
set -g @catppuccin_directory_color "#c4a7e7"
set -g @catppuccin_directory_background_color "#f5e0dc"
set -g @catppuccin_date_time_color "#f6c177"
set -g @catppuccin_date_time_background_color "#f5e0dc"
# Battery Icons (Glyphs)
set -g @batt_icon_charge_tier8 ''
set -g @batt_icon_charge_tier7 ''

View file

@ -0,0 +1,154 @@
# ==============================================
# === TMUX Configuration ===
# ==============================================
# General Settings
# ----------------
set -g prefix C-a # Use CTRL+a as our tmux command prefix
unbind C-b # Unbind default prefix
set -g base-index 1 # Start windows numbering at 1
setw -g pane-base-index 1 # Start pane numbering at 1
set -g renumber-windows on # Renumber windows when a window is closed
set -s escape-time 1 # Lower the default tmux delay
set -g mouse on # Enable mouse support
setw -g aggressive-resize on # Only resize screen if smaller screen is active
set -g history-limit 10000 # Store 10k lines of history
set-option -g allow-rename off # Disable automatic window renaming
set-option -s set-clipboard on # Enable clipboard support
setw -g mode-keys vi # Use vi keys in copy mode
# Key Bindings
# ------------
bind r source-file $XDG_CONFIG_HOME/tmux/tmux.conf \; display "tmux reloaded!" # Reload config
bind v split-window -h -c "#{pane_current_path}" # Split vertically
bind s split-window -v -c "#{pane_current_path}" # Split horizontally
# Vim-like pane navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Vim-like pane resizing
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Vim-like copy mode navigation
bind-key -T copy-mode-vi h send-keys -X cursor-left
bind-key -T copy-mode-vi j send-keys -X cursor-down
bind-key -T copy-mode-vi k send-keys -X cursor-up
bind-key -T copy-mode-vi l send-keys -X cursor-right
bind-key -T copy-mode-vi w send-keys -X next-word
bind-key -T copy-mode-vi b send-keys -X previous-word
bind-key -T copy-mode-vi 0 send-keys -X start-of-line
bind-key -T copy-mode-vi $ send-keys -X end-of-line
bind-key -T copy-mode-vi G send-keys -X history-bottom
bind-key -T copy-mode-vi g send-keys -X history-top
bind-key -T copy-mode-vi / command-prompt -T search -I "#{pane_current_path}" "send -X search-forward \"%%\""
bind-key -T copy-mode-vi ? command-prompt -T search -I "#{pane_current_path}" "send -X search-backward \"%%\""
bind-key -T copy-mode-vi n send-keys -X search-again
bind-key -T copy-mode-vi N send-keys -X search-reverse
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
bind-key -T copy-mode-vi Escape send-keys -X cancel
# Move pane to a different window
bind-key m choose-window -F "#{window_index}: #{window_name}" "join-pane -h -t %%"
bind-key M choose-window -F "#{window_index}: #{window_name}" "join-pane -v -t %%"
# Visual Settings
# ---------------
set -g status-interval 2
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# Terminal Settings
# -----------------
set -gq allow-passthrough on
set -g visual-activity off
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM
set -g default-terminal "tmux-256color"
set -g terminal-overrides ',xterm-256color:Tc'
# Plugins
# -------
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'catppuccin/tmux#v0.2.0'
set -g @plugin 'tmux-plugins/tmux-battery' # Re-enabled with our fixes
set -g @plugin 'MaximilianGaedig/tmux-filter'
# Plugin Settings
# ---------------
set -g @yank_selection_mouse 'clipboard'
set -g @yank_selection 'clipboard'
set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default
# Catppuccin Theme Configuration
set -g status-position top
set -g @catppuccin_window_left_separator "█"
set -g @catppuccin_window_right_separator "█"
set -g @catppuccin_window_number_position "left"
set -g @catppuccin_window_middle_separator "█ "
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W#{?window_zoomed_flag,(🔍),}"
set -g @catppuccin_window_default_text "#W"
# Determine status modules based on hostname
run-shell "if [ $(hostname) = 'fw' ]; then \
tmux set -g @catppuccin_status_modules_right 'date_time battery session'; \
else \
tmux set -g @catppuccin_status_modules_right 'date_time session'; \
fi"
set -g @catppuccin_status_left_separator ""
set -g @catppuccin_status_right_separator " "
set -g @catppuccin_status_right_separator_inverse "yes"
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_connect_separator "yes"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
# Rose Pine Color Scheme
set -g @catppuccin_pane_color "#1e1e2e"
set -g @catppuccin_pane_background_color "#181825"
set -g @catppuccin_window_current_color "#eb6f92"
set -g @catppuccin_window_current_background_color "#f5e0dc"
set -g @catppuccin_window_default_color "#ebbcba"
set -g @catppuccin_window_default_background_color "#f5e0dc"
set -g @catppuccin_session_color "#9ccfd8"
set -g @catppuccin_session_background_color "#f5e0dc"
set -g @catppuccin_directory_color "#c4a7e7"
set -g @catppuccin_directory_background_color "#f5e0dc"
set -g @catppuccin_date_time_color "#f6c177"
set -g @catppuccin_date_time_background_color "#f5e0dc"
# Battery Icons (Glyphs)
set -g @batt_icon_charge_tier8 ''
set -g @batt_icon_charge_tier7 ''
set -g @batt_icon_charge_tier6 ''
set -g @batt_icon_charge_tier5 ''
set -g @batt_icon_charge_tier4 ''
set -g @batt_icon_charge_tier3 ''
set -g @batt_icon_charge_tier2 ''
set -g @batt_icon_charge_tier1 ''
# Plugin Manager
set-environment -g TMUX_PLUGIN_MANAGER_PATH "$XDG_DATA_HOME/tmux/plugins"
# Install TPM if not already installed
if "test ! -d ~/.local/share/tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.local/share/tmux/plugins/tpm'"
# Initialize TPM (keep this line at the very bottom of tmux.conf)
run '~/.local/share/tmux/plugins/tpm/tpm'

View file

@ -0,0 +1,139 @@
# ==============================================
# === TMUX Configuration ===
# ==============================================
# General Settings
# ----------------
set -g prefix C-a # Use CTRL+a as our tmux command prefix
unbind C-b # Unbind default prefix
set -g base-index 1 # Start windows numbering at 1
setw -g pane-base-index 1 # Start pane numbering at 1
set -g renumber-windows on # Renumber windows when a window is closed
set -s escape-time 1 # Lower the default tmux delay
set -g mouse on # Enable mouse support
setw -g aggressive-resize on # Only resize screen if smaller screen is active
set -g history-limit 10000 # Store 10k lines of history
set-option -g allow-rename off # Disable automatic window renaming
set-option -s set-clipboard on # Enable clipboard support
setw -g mode-keys vi # Use vi keys in copy mode
# Key Bindings
# ------------
bind r source-file $XDG_CONFIG_HOME/tmux/tmux.conf \; display "tmux reloaded!" # Reload config
bind v split-window -h -c "#{pane_current_path}" # Split vertically
bind s split-window -v -c "#{pane_current_path}" # Split horizontally
# Vim-like pane navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Vim-like pane resizing
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Vim-like copy mode navigation
bind-key -T copy-mode-vi h send-keys -X cursor-left
bind-key -T copy-mode-vi j send-keys -X cursor-down
bind-key -T copy-mode-vi k send-keys -X cursor-up
bind-key -T copy-mode-vi l send-keys -X cursor-right
bind-key -T copy-mode-vi w send-keys -X next-word
bind-key -T copy-mode-vi b send-keys -X previous-word
bind-key -T copy-mode-vi 0 send-keys -X start-of-line
bind-key -T copy-mode-vi $ send-keys -X end-of-line
bind-key -T copy-mode-vi G send-keys -X history-bottom
bind-key -T copy-mode-vi g send-keys -X history-top
bind-key -T copy-mode-vi / command-prompt -T search -I "#{pane_current_path}" "send -X search-forward \"%%\""
bind-key -T copy-mode-vi ? command-prompt -T search -I "#{pane_current_path}" "send -X search-backward \"%%\""
bind-key -T copy-mode-vi n send-keys -X search-again
bind-key -T copy-mode-vi N send-keys -X search-reverse
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
bind-key -T copy-mode-vi Escape send-keys -X cancel
# Move pane to a different window
bind-key m choose-window -F "#{window_index}: #{window_name}" "join-pane -h -t %%"
bind-key M choose-window -F "#{window_index}: #{window_name}" "join-pane -v -t %%"
# Visual Settings
# ---------------
set -g status-interval 2
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# Terminal Settings
# -----------------
set -gq allow-passthrough on
set -g visual-activity off
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM
set -g default-terminal "tmux-256color"
set -g terminal-overrides ',xterm-256color:Tc'
# Plugins
# -------
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'rose-pine/tmux'
set -g @plugin 'tmux-plugins/tmux-battery' # Re-enabled with our fixes
set -g @plugin 'MaximilianGaedig/tmux-filter'
# Plugin Settings
# ---------------
set -g @yank_selection_mouse 'clipboard'
set -g @yank_selection 'clipboard'
set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default
# Rosé Pine Theme Configuration
# -----------------------------
set -g status-position top
set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn'
# Enable extra modules
set -g @rose_pine_host 'on' # Enables hostname in the status bar
set -g @rose_pine_hostname_short 'on' # Makes the hostname shorter by using tmux's '#h' format
set -g @rose_pine_date_time '%Y-%m-%d %H:%M:%S' # Date/time format
set -g @rose_pine_user 'on' # Turn on the username component in the statusbar
set -g @rose_pine_directory 'on' # Turn on the current folder component in the status bar
set -g @rose_pine_bar_bg_disable 'on' # Disables background color, for transparent terminal emulators
# Battery module - determine if battery is available
run-shell "if [ -d /sys/class/power_supply/BAT* ]; then \
tmux set -g @rose_pine_status_right_append_section '#{tmux_battery_status_bg}'; \
fi"
# Battery Icons (Glyphs)
set -g @batt_icon_charge_tier8 ''
set -g @batt_icon_charge_tier7 ''
set -g @batt_icon_charge_tier6 ''
set -g @batt_icon_charge_tier5 ''
set -g @batt_icon_charge_tier4 ''
set -g @batt_icon_charge_tier3 ''
set -g @batt_icon_charge_tier2 ''
set -g @batt_icon_charge_tier1 ''
# Optional customization options
# set -g @rose_pine_left_separator ' > '
# set -g @rose_pine_right_separator ' < '
# set -g @rose_pine_field_separator ' | '
set -g @rose_pine_window_separator ' #{?window_zoomed_flag, ,}' # Replaces the default `:` between the window number and name
# Plugin Manager
set-environment -g TMUX_PLUGIN_MANAGER_PATH "$XDG_DATA_HOME/tmux/plugins"
# Install TPM if not already installed
if "test ! -d ~/.local/share/tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.local/share/tmux/plugins/tpm'"
# Initialize TPM (keep this line at the very bottom of tmux.conf)
run '~/.local/share/tmux/plugins/tpm/tpm'

View file

@ -17,34 +17,30 @@ for completion_file in ~/.local/share/zsh/*-autocomplete.zsh(N); do
fi
done
if command -v eza &> /dev/null; then
if command -v eza &> /dev/null; then
compdef _ls eza
fi
if command -v kubefwd &> /dev/null; then
if command -v kubefwd &> /dev/null; then
_lazy_load_completion kubefwd "kubefwd completion zsh"
fi
if command -v bombadil &> /dev/null; then
if command -v bombadil &> /dev/null; then
_lazy_load_completion bombadil "bombadil generate-completions zsh"
fi
if command -v rop &> /dev/null; then
if command -v rop &> /dev/null; then
eval "$(rop completion zsh)"
fi
if command -v goq &> /dev/null; then
if command -v goq &> /dev/null; then
eval "$(goq completion zsh)"
fi
if command -v drop &> /dev/null; then
if command -v drop &> /dev/null; then
eval "$(drop completion zsh)"
fi
if command -v mora &> /dev/null; then
eval "$(mora completion zsh)"
fi
_lazy_load() {
local cmd="$1"
local loader="$2"