Created
June 26, 2025 10:39
-
-
Save nidr0x/acf40f82d5a95b9474a3473e71df43e5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# : << EOF | |
# https://github.com/gpakosz/.tmux | |
# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, | |
# without any warranty. | |
# Copyright 2012— Gregory Pakosz (@gpakosz). | |
# -- bindings ------------------------------------------------------------------ | |
# preserve tmux stock bindings, | |
# while adding bindings that don't conflict with these stock bindings | |
# /!\ this disables some of Oh my tmux! bindings described in README.md | |
# - true | |
# - false (default) | |
tmux_conf_preserve_stock_bindings=false | |
# -- session creation ---------------------------------------------------------- | |
# prompt for session name when creating a new session, possible values are: | |
# - true | |
# - false (default) | |
# - disabled (do not modify new-session bindings) | |
tmux_conf_new_session_prompt=false | |
# new session retains current path, possible values are: | |
# - true | |
# - false (default) | |
# - disabled (do not modify new-session bindings) | |
tmux_conf_new_session_retain_current_path=false | |
# -- windows & pane creation --------------------------------------------------- | |
# new window retains current path, possible values are: | |
# - true | |
# - false (default) | |
# - disabled (do not modify new-window bindings) | |
tmux_conf_new_window_retain_current_path=false | |
# new window tries to reconnect ssh sessions, possible values are: | |
# - true | |
# - false (default) | |
# - disabled (do not modify new-window bindings) | |
tmux_conf_new_window_reconnect_ssh=false | |
# new pane retains current path, possible values are: | |
# - true (default) | |
# - false | |
# - disabled (do not modify split-window bindings) | |
tmux_conf_new_pane_retain_current_path=true | |
# new pane tries to reconnect ssh sessions, possible values are: | |
# - true | |
# - false (default) | |
# - disabled (do not modify split-window bindings) | |
tmux_conf_new_pane_reconnect_ssh=false | |
# -- display ------------------------------------------------------------------- | |
# RGB 24-bit colour support, possible values are: | |
# - true | |
# - false | |
# - auto (default) | |
# | |
# automatic detection relies on the COLORTERM environment variable being defined | |
# to 'truecolor' or '24bit' or '$ tput colors' answering '16777216' | |
# see https://github.com/termstandard/colors | |
tmux_conf_24b_colour=auto | |
# -- theming ------------------------------------------------------------------- | |
# enable or disable theming: | |
# - enabled (default) | |
# - disabled | |
# when disabled, all tmux_conf_theme_xxx variables are ignored except: | |
# - tmux_conf_theme_pairing | |
# - tmux_conf_theme_prefix | |
# - tmux_conf_theme_mouse | |
# - tmux_conf_theme_root | |
# - tmux_conf_theme_synchronized | |
tmux_conf_theme=enabled | |
# default theme | |
#tmux_conf_theme_colour_1="#080808" # dark gray | |
#tmux_conf_theme_colour_2="#303030" # gray | |
#tmux_conf_theme_colour_3="#8a8a8a" # light gray | |
#tmux_conf_theme_colour_4="#00afff" # light blue | |
#tmux_conf_theme_colour_5="#ffff00" # yellow | |
#tmux_conf_theme_colour_6="#080808" # dark gray | |
#tmux_conf_theme_colour_7="#e4e4e4" # white | |
#tmux_conf_theme_colour_8="#080808" # dark gray | |
#tmux_conf_theme_colour_9="#ffff00" # yellow | |
#tmux_conf_theme_colour_10="#ff00af" # pink | |
#tmux_conf_theme_colour_11="#5fff00" # green | |
#tmux_conf_theme_colour_12="#8a8a8a" # light gray | |
#tmux_conf_theme_colour_13="#e4e4e4" # white | |
#tmux_conf_theme_colour_14="#080808" # dark gray | |
#tmux_conf_theme_colour_15="#080808" # dark gray | |
#tmux_conf_theme_colour_16="#d70000" # red | |
#tmux_conf_theme_colour_17="#e4e4e4" # white | |
# dracula theme | |
tmux_conf_theme_colour_0="default" # background | |
tmux_conf_theme_colour_1="#282a36" # background | |
tmux_conf_theme_colour_2="#303030" # gray | |
tmux_conf_theme_colour_3="#f8f8f2" # foreground | |
tmux_conf_theme_colour_4="#8be9fd" # cyan | |
tmux_conf_theme_colour_5="#f1fa8c" # yellow | |
tmux_conf_theme_colour_6="#282a36" # background | |
tmux_conf_theme_colour_7="#f8f8f2" # foreground | |
tmux_conf_theme_colour_8="#282a36" # background | |
tmux_conf_theme_colour_9="#bd93f9" # purple | |
tmux_conf_theme_colour_10="#6272a4" # comment | |
tmux_conf_theme_colour_11="#50fa7b" # green | |
tmux_conf_theme_colour_12="#f8f8f2" # foreground | |
tmux_conf_theme_colour_13="#f8f8f2" # foreground | |
tmux_conf_theme_colour_14="#282a36" # background | |
tmux_conf_theme_colour_15="#44475a" # selection | |
tmux_conf_theme_colour_16="#6272a4" # comment | |
tmux_conf_theme_colour_17="#bd93f9" # purple | |
tmux_conf_theme_colour_18="#ff5555" # red | |
tmux_conf_theme_colour_19="#ffb86c" # orange | |
tmux_conf_theme_colour_20="#ff79c6" # pink | |
# window style | |
tmux_conf_theme_window_fg="default" | |
tmux_conf_theme_window_bg="default" | |
# highlight focused pane, possible values are: | |
# - true | |
# - false (default) | |
tmux_conf_theme_highlight_focused_pane=false | |
# focused pane colours: | |
tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2" | |
# pane border style, possible values are: | |
# - thin (default) | |
# - fat | |
tmux_conf_theme_pane_border_style=thin | |
# pane borders colours: | |
tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" | |
tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" | |
%if #{>=:#{version},3.2} | |
tmux_conf_theme_pane_active_border="#{?pane_in_mode,$tmux_conf_theme_colour_9,#{?synchronize-panes,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_4}}" | |
%endif | |
# pane indicator colours (when you hit <prefix> + q) | |
tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" | |
tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" | |
# status line style | |
tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" | |
tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" | |
tmux_conf_theme_message_attr="bold" | |
# status line command style (<prefix> : Escape) | |
tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" | |
tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" | |
tmux_conf_theme_message_command_attr="bold" | |
# window modes style | |
tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" | |
tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" | |
tmux_conf_theme_mode_attr="bold" | |
# status line style | |
tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" | |
tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" | |
tmux_conf_theme_status_attr="bold" | |
# terminal title | |
# - built-in variables are: | |
# - #{circled_window_index} | |
# - #{circled_session_name} | |
# - #{hostname} | |
# - #{hostname_ssh} | |
# - #{hostname_full} | |
# - #{hostname_full_ssh} | |
# - #{username} | |
# - #{username_ssh} | |
tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W" | |
# window status style | |
# - built-in variables are: | |
# - #{circled_window_index} | |
# - #{circled_session_name} | |
# - #{hostname} | |
# - #{hostname_ssh} | |
# - #{hostname_full} | |
# - #{hostname_full_ssh} | |
# - #{username} | |
# - #{username_ssh} | |
tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" | |
tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" | |
tmux_conf_theme_window_status_attr="none" | |
tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" | |
#tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" | |
#tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" | |
# window current status style | |
# - built-in variables are: | |
# - #{circled_window_index} | |
# - #{circled_session_name} | |
# - #{hostname} | |
# - #{hostname_ssh} | |
# - #{hostname_full} | |
# - #{hostname_full_ssh} | |
# - #{username} | |
# - #{username_ssh} | |
tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" | |
tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" | |
tmux_conf_theme_window_status_current_attr="bold" | |
tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" | |
#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" | |
#tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" | |
# window activity status style | |
tmux_conf_theme_window_status_activity_fg="default" | |
tmux_conf_theme_window_status_activity_bg="default" | |
tmux_conf_theme_window_status_activity_attr="bold" | |
# window bell status style | |
tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" | |
tmux_conf_theme_window_status_bell_bg="default" | |
tmux_conf_theme_window_status_bell_attr="blink,bold" | |
# window last status style | |
tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" | |
tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" | |
tmux_conf_theme_window_status_last_attr="none" | |
# status left/right sections separators | |
tmux_conf_theme_left_separator_main='' | |
tmux_conf_theme_left_separator_sub='' | |
tmux_conf_theme_right_separator_main='' | |
tmux_conf_theme_right_separator_sub='' | |
#tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline | |
#tmux_conf_theme_left_separator_sub='\uE0B1' # you only need fonts patched with | |
#tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone | |
#tmux_conf_theme_right_separator_sub='\uE0B3' # PowerlineSymbols.otf font, see README.md | |
# status left/right content: | |
# - separate main sections with "|" | |
# - separate subsections with "," | |
# - built-in variables are: | |
# - #{battery_bar} | |
# - #{battery_hbar} | |
# - #{battery_percentage} | |
# - #{battery_status} | |
# - #{battery_vbar} | |
# - #{circled_session_name} | |
# - #{hostname_ssh} | |
# - #{hostname} | |
# - #{hostname_full} | |
# - #{hostname_full_ssh} | |
# - #{loadavg} | |
# - #{mouse} | |
# - #{pairing} | |
# - #{prefix} | |
# - #{root} | |
# - #{synchronized} | |
# - #{uptime_y} | |
# - #{uptime_d} (modulo 365 when #{uptime_y} is used) | |
# - #{uptime_h} | |
# - #{uptime_m} | |
# - #{uptime_s} | |
# - #{username} | |
# - #{username_ssh} | |
tmux_conf_theme_status_left=' ❐ #S , ↑#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} | K8S Ctx: #(kubectl config current-context) ' | |
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} #(ping -t 1 -c 1 1.1.1.1 >/dev/null 2>&1 && printf '🌐✅' || printf '🌐❌') , %R , %d %b | #{username}#{root} | #{hostname} ' | |
# status left style | |
tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8" | |
tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11" | |
tmux_conf_theme_status_left_attr="bold,none,none" | |
# status right style | |
tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" | |
tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" | |
tmux_conf_theme_status_right_attr="none,none,bold" | |
# pairing indicator | |
tmux_conf_theme_pairing="⚇" # U+2687 | |
tmux_conf_theme_pairing_fg="none" | |
tmux_conf_theme_pairing_bg="none" | |
tmux_conf_theme_pairing_attr="none" | |
# prefix indicator | |
tmux_conf_theme_prefix="⌨" # U+2328 | |
tmux_conf_theme_prefix_fg="none" | |
tmux_conf_theme_prefix_bg="none" | |
tmux_conf_theme_prefix_attr="none" | |
# mouse indicator | |
tmux_conf_theme_mouse="↗" # U+2197 | |
tmux_conf_theme_mouse_fg="none" | |
tmux_conf_theme_mouse_bg="none" | |
tmux_conf_theme_mouse_attr="none" | |
# root indicator | |
tmux_conf_theme_root="!" | |
tmux_conf_theme_root_fg="none" | |
tmux_conf_theme_root_bg="none" | |
tmux_conf_theme_root_attr="bold,blink" | |
# synchronized indicator | |
tmux_conf_theme_synchronized="⚏" # U+268F | |
tmux_conf_theme_synchronized_fg="none" | |
tmux_conf_theme_synchronized_bg="none" | |
tmux_conf_theme_synchronized_attr="none" | |
# battery bar symbols | |
tmux_conf_battery_bar_symbol_full="◼" | |
tmux_conf_battery_bar_symbol_empty="◻" | |
#tmux_conf_battery_bar_symbol_full="♥" | |
#tmux_conf_battery_bar_symbol_empty="·" | |
# battery bar length (in number of symbols), possible values are: | |
# - auto | |
# - a number, e.g. 5 | |
tmux_conf_battery_bar_length="auto" | |
# battery bar palette, possible values are: | |
# - gradient (default) | |
# - heat | |
# - "colour_full_fg,colour_empty_fg,colour_bg" | |
tmux_conf_battery_bar_palette="gradient" | |
#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black | |
# battery hbar palette, possible values are: | |
# - gradient (default) | |
# - heat | |
# - "colour_low,colour_half,colour_full" | |
tmux_conf_battery_hbar_palette="gradient" | |
#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green | |
# battery vbar palette, possible values are: | |
# - gradient (default) | |
# - heat | |
# - "colour_low,colour_half,colour_full" | |
tmux_conf_battery_vbar_palette="gradient" | |
#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green | |
# symbols used to indicate whether battery is charging or discharging | |
tmux_conf_battery_status_charging="↑" # U+2191 | |
tmux_conf_battery_status_discharging="↓" # U+2193 | |
#tmux_conf_battery_status_charging="🔌" # U+1F50C | |
#tmux_conf_battery_status_discharging="🔋" # U+1F50B | |
# clock style (when you hit <prefix> + t) | |
# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right | |
tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" | |
tmux_conf_theme_clock_style="24" | |
# -- clipboard ----------------------------------------------------------------- | |
# in copy mode, copying selection also copies to the OS clipboard | |
# - true | |
# - false (default) | |
# - disabled | |
# on Linux, this requires xsel, xclip or wl-copy | |
tmux_conf_copy_to_os_clipboard=true | |
# -- urlscan ------------------------------------------------------------------- | |
# options passed to urlscan | |
tmux_conf_urlscan_options="--compact --dedupe" | |
# -- user customizations ------------------------------------------------------- | |
# this is the place to override or undo settings | |
# increase history size | |
set -g history-limit 30000 | |
# start with mouse mode enabled | |
set -g mouse on | |
# force Vi mode | |
# really you should export VISUAL or EDITOR environment variable, see manual | |
#set -g status-keys vi | |
#set -g mode-keys vi | |
# replace C-b by C-a instead of using both prefixes | |
# set -gu prefix2 | |
# unbind C-a | |
# unbind C-b | |
# set -g prefix C-a | |
# bind C-a send-prefix | |
# if you don't want Oh my tmux! to alter a binding, use #!important | |
# bind c new-window -c '#{pane_current_path}' #!important | |
# move status line to top | |
#set -g status-position top | |
# -- tpm ----------------------------------------------------------------------- | |
# while I don't use tpm myself, many people requested official support so here | |
# is a seamless integration that automatically installs plugins in parallel | |
# whenever a plugin introduces a variable to be used in 'status-left' or | |
# 'status-right', you can use it in 'tmux_conf_theme_status_left' and | |
# 'tmux_conf_theme_status_right' variables. | |
# by default, launching tmux will update tpm and all plugins | |
# - true (default) | |
# - false | |
tmux_conf_update_plugins_on_launch=true | |
# by default, reloading the configuration will update tpm and all plugins | |
# - true (default) | |
# - false | |
tmux_conf_update_plugins_on_reload=true | |
# by default, reloading the configuration will uninstall tpm and plugins when no | |
# plugins are enabled | |
# - true (default) | |
# - false | |
tmux_conf_uninstall_plugins_on_reload=true | |
# /!\ the tpm bindings differ slightly from upstream: | |
# - installing plugins: <prefix> + I | |
# - uninstalling plugins: <prefix> + Alt + u | |
# - updating plugins: <prefix> + u | |
# /!\ do not add set -g @plugin 'tmux-plugins/tpm' | |
# /!\ do not add run '~/.tmux/plugins/tpm/tpm' | |
# to enable a plugin, use the 'set -g @plugin' syntax: | |
# visit https://github.com/tmux-plugins for available plugins | |
#set -g @plugin 'tmux-plugins/tmux-copycat' | |
#set -g @plugin 'tmux-plugins/tmux-cpu' | |
set -g @plugin 'tmux-plugins/tmux-resurrect' | |
set -g @plugin 'darko-mesaros/aws-tmux' | |
set -g @plugin 'tmux-plugins/tmux-continuum' | |
set -g @resurrect-strategy-vim 'session' | |
set -g @resurrect-strategy-nvim 'session' | |
set -g @continuum-restore 'on' | |
set -g @continuum-boot-options 'iterm' | |
set -g @continuum-save-interval '5' | |
set -g @resurrect-capture-pane-contents 'on' | |
# -- custom variables ---------------------------------------------------------- | |
# to define a custom #{foo} variable, define a POSIX shell function between the | |
# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character | |
# must be on the same line as the function name otherwise the parse won't detect | |
# it. | |
# | |
# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the | |
# 'tmux_conf_theme_status_right' variables. | |
# ------------------------------------------------------------------------------ | |
# # /!\ do not remove the following line | |
#EOF | |
# | |
# # /!\ do not "uncomment" the functions: the leading "# " characters are needed | |
# | |
# weather() { # see https://github.com/chubin/wttr.in#one-line-output | |
# curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed | |
# sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval | |
# } | |
# | |
# online() { | |
# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘' | |
# } | |
# | |
# wan_ip_v4() { | |
# curl -f -s -m 2 -4 ifconfig.me | |
# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval | |
# } | |
# | |
# wan_ip_v6() { | |
# curl -f -s -m 2 -6 ifconfig.me | |
# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval | |
# } | |
# | |
#"$@" | |
# # /!\ do not remove the previous line | |
# # do not write below this line |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment