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