Catppuccin for Tmux
In order to have the icons displayed correctly please use/update your favorite patched font. If you do not have a patched font installed, you can override or remove any icon. Check the documentation below on the options available.
- Install TPM
- Add the Catppuccin plugin:
set -g @plugin 'catppuccin/tmux#latest' # See https://github.com/catppuccin/tmux/tags for additional tags
# set -g @plugin 'catppuccin/tmux' # main branch
# ...alongside
set -g @plugin 'tmux-plugins/tpm'
- (Optional) Set your preferred flavor, it defaults to
"mocha"
:
set -g @catppuccin_flavor 'mocha' # latte,frappe, macchiato or mocha
- Clone this repository to your desired location (e.g.
~/.config/tmux/plugins/catppuccin
) - Add the following line to your
tmux.conf
file:run ~/.config/tmux/plugins/catppuccin/catppuccin.tmux
- (Optional) Set your preferred flavor and/or add configuration options as listed in Configuration Options.
- Reload Tmux by either restarting the session or reloading it with
tmux source-file ~/.tmux.conf
This is a diagram of how the theme is split between its components.
All flavors support certain levels of customization that match our Catppuccin Style Guide. To add these customizations, you may add any of the following options to your Tmux configuration.
If you want to set a text-based customization to an emtpy string, use null
to
do so. For instance:
set -g @catppuccin_icon_window_last "null"
set -g @catppuccin_window_separator ""
set -g @catppuccin_window_left_separator "β"
set -g @catppuccin_window_middle_separator "β"
set -g @catppuccin_window_right_separator "β"
set -g @catppuccin_window_number_position "left"
Values:
- left - the number will be on the left part of the window
- right - the number will be on the right part of the window
set -g @catppuccin_window_status "no"
Values:
- no - this will disable the window status part
- icon - this will replace the windows status text with icons
- text - this will keep the windows status in text format
set -g @catppuccin_icon_window_last "σ°°"
set -g @catppuccin_icon_window_current "σ°―"
set -g @catppuccin_icon_window_zoom "σ°"
set -g @catppuccin_icon_window_mark "σ°"
set -g @catppuccin_icon_window_silent "σ°"
set -g @catppuccin_icon_window_activity "σ±
«"
set -g @catppuccin_icon_window_bell "σ°"
set -g @catppuccin_window_default_fill "number"
Values:
- number - only the number of the window part will have color
- all - the entire window part will have the same color
- none - the entire window part will have no color
set -g @catppuccin_window_default_color "#{thm_blue}" # text color
set -g @catppuccin_window_default_background "#{thm_gray}"
Values:
- color - a theme color (
#{thm_<color>}
) or hexadecimal color value
set -g @catppuccin_window_default_text "#{b:pane_current_path}" # use "#W" for application instead of directory
set -g @catppuccin_window_current_fill "number"
Values:
- number - only the number of the window part will have color
- all - the entire window part will have the same color
- none - the entire window part will have no color
set -g @catppuccin_window_current_color "#{thm_orange}" # text color
set -g @catppuccin_window_current_background "#{thm_bg}"
Note that color and background fields are swapped when @catppuccin_window_current_fill
is set to "all".
Values:
- color - a theme color (
#{thm_<color>}
) or a hexadecimal color value
set -g @catppuccin_window_current_text "#{b:pane_current_path}" # use "#W" for application instead of directory
set -g @catppuccin_window_current_left_separator "ξΆ"
set -g @catppuccin_window_current_middle_separator "β"
set -g @catppuccin_window_current_right_separator "ξ΄"
set -g @catppuccin_pane_border_style "fg=#{thm_gray}" # Use a value compatible with the standard tmux 'pane-border-style'
set -g @catppuccin_pane_active_border_style "fg=#{thm_orange}" # Use a value compatible with the standard tmux 'pane-border-active-style'
set -g @catppuccin_menu_style "default" # Use a value compatible with the standard tmux `menu-style`
set -g @catppuccin_menu_selected_style "fg=#{thm_gray},bg=#{thm_yellow}" # Use a value compatible with the standard tmux `menu-selected-style`
set -g @catppuccin_menu_border_style "default" # Use a value compatible with the standard tmux `menu-border-style`
set -g @catppuccin_status_default "on"
set -g @catppuccin_status_background "theme"
This will overwrite the status bar background:
- "theme" will use the color from the selected theme
- "default" will make the status bar transparent
- use hex color codes for other colors or a theme color (
#{thm_<color>}
)
Note: you need to restart tmux for this to take effect:
tmux kill-server & tmux
set -g @catppuccin_status_left_separator "ξΆ"
set -g @catppuccin_status_middle_separator "null"
set -g @catppuccin_status_right_separator "β"
set -g @catppuccin_status_connect_separator "yes"
Values:
- yes - the background color of the separator will not blend in with the background color of tmux
- no - the background color of the separator will blend in with the background color of tmux
set -g @catppuccin_status_fill "icon"
Values:
- icon - only the icon of the module will have color
- all - the entire module will have the same color
set -g @catppuccin_status_justify "left"
Values:
- left
- centre - puts the window list in the relative centre of the available free space
- right
- absolute-centre - uses the centre of the entire horizontal space
set -g @catppuccin_pane_status_enabled "no"
set -g @catppuccin_pane_border_status "off" # See `pane-border-status`
set -g @catppuccin_pane_left_separator "β"
set -g @catppuccin_pane_right_separator "β"
set -g @catppuccin_pane_middle_separator "β"
set -g @catppuccin_pane_number_position "left"
set -g @catppuccin_pane_default_fill "number"
set -g @catppuccin_pane_default_text "#{b:pane_current_path}"
set -g @catppuccin_pane_border_style "fg=#{thm_orange}"
set -g @catppuccin_pane_active_border_style "fg=#{thm_orange}"
set -g @catppuccin_pane_color "#{thm_orange}"
set -g @catppuccin_pane_background_color "#{thm_orange}"
set -g @catppuccin_status_modules_right "application session"
set -g @catppuccin_status_modules_left "null"
Provide a list of modules and the order in which you want them to appear in the status.
Available modules:
- application - display the current window running application
- directory - display the basename of the current window path
- session - display the number of tmux sessions running
- user - display the username
- host - display the hostname
- date_time - display the date and time
- uptime - display the uptime
- battery - display the battery
Every module (except the module "session") supports the following overrides:
set -g @catppuccin_[module_name]_icon "icon"
set -g @catppuccin_[module_name]_color "color"
set -g @catppuccin_[module_name]_text "text"
This module depends on tmux-battery.
The preferred way to install tmux-battery is using TPM.
Load tmux-battery after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'tmux-plugins/tmux-battery'
Add the battery module to the status modules list.
set -g @catppuccin_status_modules_right "... battery ..."
This module depends on tmux-cpu.
The preferred way to install tmux-cpu is using TPM.
Load tmux-cpu after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'tmux-plugins/tmux-cpu'
Add the cpu module to the status modules list.
set -g @catppuccin_status_modules_right "... cpu ..."
This module depends on tmux-weather.
The preferred way to install tmux-weather is using TPM.
Load tmux-weather after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'xamut/tmux-weather'
Add the weather module to the status modules list.
set -g @catppuccin_status_modules_right "... weather ..."
This module depends on tmux-clima.
The preferred way to install tmux-clima is using TPM.
Load tmux-clima after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'vascomfnunes/tmux-clima'
Add the weather module to the status modules list.
set -g @catppuccin_status_modules_right "... clima ..."
This module depends on tmux-loadavg.
The preferred way to install tmux-loadavg is using TPM.
Load tmux-loadavg after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'jamesoff/tmux-loadavg'
Add the load module to the status modules list.
set -g @catppuccin_status_modules_right "... load ..."
This module depends on gitmux.
To install gitmux, follow the instructions in the gitmux documentation.
Add the gitmux module to the status modules list.
set -g @catppuccin_status_modules_right "... gitmux ..."
To customize the gitmux module, you can follow the instrucctions in the gitmux documentation and add this line in your tmux configuration:
set -g @catppuccin_gitmux_text "#(gitmux -cfg $HOME/.gitmux.conf \"#{pane_current_path}\")"
This module depends on tmux-pomodoro-plus.
The preferred way to install tmux-pomodoro-plus is using TPM.
Load tmux-pomodoro-plus after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'olimorris/tmux-pomodoro-plus'
Add the pomodoro module to the status modules list.
set -g @catppuccin_status_modules_right "... pomodoro_plus ..."
This module depends on kube-tmux.
The preferred way to install kube-tmux is using TPM.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'jonmosco/kube-tmux'
Add the tmux module to the status modules list.
set -g @catppuccin_status_modules_right "... kube ..."
Optionally override the kube-tmux colors
set -g @catppuccin_kube_context_color "#{thm_red}"
set -g @catppuccin_kube_namespace_color "#{thm_cyan}"
It is possible to add a new custom module or overwrite any of the existing modules.
For further details, see the documentation in custom/README.md
Any file added to the custom folder will be preserved when updating catppuccin.
Below are provided a few configurations as examples or starting points.
Note: When switching between configurations run:
tmux kill-server
To kill the tmux server and clear all global variables.
set -g @catppuccin_window_right_separator "βΒ "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_middle_separator " | "
set -g @catppuccin_window_default_fill "none"
set -g @catppuccin_window_current_fill "all"
set -g @catppuccin_status_modules_right "application session user host date_time"
set -g @catppuccin_status_left_separator "β"
set -g @catppuccin_status_right_separator "β"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
set -g @catppuccin_window_left_separator "ξΊβ"
set -g @catppuccin_window_right_separator "βξΌΒ "
set -g @catppuccin_window_number_position "right"
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 "#{pane_current_path}"
set -g @catppuccin_status_modules_right "application session date_time"
set -g @catppuccin_status_left_separator "ξΆ"
set -g @catppuccin_status_right_separator " ξΆ"
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_connect_separator "yes"
set -g @catppuccin_window_left_separator "ξΆ"
set -g @catppuccin_window_right_separator "ξ΄Β "
set -g @catppuccin_window_middle_separator " β"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right "directory user host session"
set -g @catppuccin_status_left_separator " ξΆ"
set -g @catppuccin_status_right_separator "ξ΄"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
Β
Copyright Β© 2021-present Catppuccin Org