Skip to main content

Flavors & Themes

Flavors are pre-made Yazi themes distributed as .yazi directories. They bundle everything needed to restyle the file manager: color schemes, icon mappings, and syntax-highlighting theme data.

Directory Structure​

A flavor named bar.yazi lives at ~/.config/yazi/flavors/bar.yazi/ and typically contains:

bar.yazi/
├── flavor.toml # Flavor definition & entry point
├── tmtheme.xml # tmTheme syntax-highlighting data (Sublime Text format)
├── README.md # Documentation
├── preview.png # Preview screenshot
└── LICENSE # Licensing information
info

The tmtheme.xml file is optional but commonly included for syntax highlighting support. Yazi uses the .tmTheme format for syntax scoping in file previews.

Flavors vs. User Overrides​

User settings in theme.toml always take precedence over flavor definitions. Flavors serve as a base that users can extend or override.

# theme.toml — overrides win on every key
[flavor]
dark = "bar" # Flavor used in dark mode
light = "bar" # Flavor used in light mode

Benefits​

BenefitDescription
Auto dark/light switchingYazi reads your system theme preference and swaps flavors automatically
Package managementya CLI installs, lists, and upgrades flavors
Config mergingFlavors define sensible defaults; your theme.toml merges on top
ValidationRun taplo on flavor.toml to catch structural issues early

Flavor Validation​

flavor.toml is a TOML file. Use taplo to validate it:

taplo validate ~/.config/yazi/flavors/bar.yazi/flavor.toml
tip

Install taplo with cargo install taplo-cli or grab a pre-built binary from the taplo releases.

Next Steps​