Theming and Customizing Tmux with Catppuccin and Additional Plugins

Are you tired of the plain, default look of Tmux? In this guide, we'll explore how to transform the appearance of Tmux using the beautiful Catppuccin theme (also known as Catppuccin flavor), along with essential plugins that will make your terminal more visually appealing.

What’s Catppuccin?

Catppuccin is a delightful color palette designed to bring a soothing and aesthetically pleasing experience to your environment. Catppuccin features a range of harmonious colors that balance vibrancy and subtlety, making it perfect for both day and night use. The palette is available in multiple variants, such as Mocha, Frappé, Macchiato, and Latte, allowing users to choose the shade that best fits their preferences. With its easy integration into various applications and tools, Catppuccin has quickly become a favorite among developers and designers alike.

Catppuccin palettes

Catppuccin palettes

Catppuccin for Tmux

Catppuccin supports over 300 apps and tools in various formats, including Tmux, which you can find on its Ports page. Now, let’s explore the setup process for integrating Catppuccin with Tmux to enhance your terminal experience.

For better compatibility, it is recommended to install the Catppuccin port for tmux as follows:

# Install the Catppuccin port for tmux
mkdir -p ~/.config/tmux/plugins/catppuccin
git clone -b v2.1.0 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux
echo "run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux" >> ~/.tmux.conf

Now, reload tmux config by typing tmux source ~/.tmux.conf. It loads catppuccin using default basic configurations.

To enhance the tmux experience, the Catppuccin maintainers recommend several config options:

# ~/.tmux.conf

# Options to make tmux more pleasant
set -g mouse on
set -g default-terminal "tmux-256color"

# Configure the catppuccin plugin
set -g @catppuccin_flavor "mocha" # latte, frappe, macchiato, or mocha
set -g @catppuccin_window_status_style "rounded" # basic, rounded, slanted, custom, or none

# Load catppuccin
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
# For TPM, instead use `run ~/.config/tmux/plugins/tmux/catppuccin.tmux`

# Make the status line pretty and add some modules
set -g status-right-length 100
set -g status-left-length 100
set -g status-left ""
set -g status-right "#{E:@catppuccin_status_application}"
set -agF status-right "#{E:@catppuccin_status_cpu}"
set -ag status-right "#{E:@catppuccin_status_session}"
set -ag status-right "#{E:@catppuccin_status_uptime}"
set -agF status-right "#{E:@catppuccin_status_battery}"

run ~/.config/tmux/plugins/tmux-plugins/tmux-cpu/cpu.tmux
run ~/.config/tmux/plugins/tmux-plugins/tmux-battery/battery.tmux
# Or, if using TPM, just run TPM

To apply the changes, type tmux kill-server to exit tmux completely and start it again, or catppuccin may not reload the options. Additionally, ensure that you have cloned all the tmux plugins listed in your .tmux.conf file.

Note: If any icon or character is not displayed correctly, you may need to install/update the font from Nerdfonts. In addition, if your terminal has a font option, change it to your installed Nerd font.

Once everything is set up correctly, you should be able to enjoy your terminal environment with the new theme. If you want to customize tmux further, feel free to explore the plugins and Catppuccin options.

Catppuccin for Tmux demo snapshot
Catppuccin for Tmux demo