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
| Benefit | Description |
|---|---|
| Auto dark/light switching | Yazi reads your system theme preference and swaps flavors automatically |
| Package management | ya CLI installs, lists, and upgrades flavors |
| Config merging | Flavors define sensible defaults; your theme.toml merges on top |
| Validation | Run 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
- Configure flavors in
theme.toml - Browse community flavors in the Yazi flavors repository