Veila
Themes

Overview

Ready-made theme examples you can use as starting points.

Built-in themes are included, and everything is configured through config.toml

This section collects ready-made examples you can use as starting points for your own setup. Each theme page includes a short description and a config snippet you can copy, then adjust for your wallpaper, fonts, and widget preferences.

Using a Theme

If you want to start from a bundled preset, set the theme name in your config:

theme = "normandy"

Or inspect and switch presets from the CLI:

veila init --theme normandy
veila theme list
veila theme current
veila theme print normandy
veila theme set normandy
veila theme unset

Use veila init --theme <name> when you want to create a fresh ~/.config/veila/config.toml with a starting preset. It refuses to replace an existing config unless you pass --force.

If ~/.config/veila/config.toml does not exist yet, it is also created automatically when you use veila theme set. veila theme unset removes only the top-level theme key and keeps the rest of your overrides intact.

veila theme current prints the active theme selection from config.toml and the resolved source file path when a theme is set. veila theme print prints the raw TOML source for a preset, and veila theme list shows every bundled theme available in your build. This page focuses on the curated presets documented below.

You can still override individual fields in the same config.toml after that.

Treat these theme pages as starting points, not fixed presets. Swap the wallpaper, fonts, widget visibility, and layout to match your own setup.

Custom Themes

You can create your own themes. A custom theme is a regular config.toml file - same format, same keys - saved under ~/.config/veila/themes/.

~/.config/veila/themes/
  my-theme.toml
  another-theme.toml

Once placed there, it is picked up automatically. Apply it the same way as a bundled theme:

theme = "my-theme"

Or via the CLI:

veila theme print my-theme
veila theme set my-theme

The theme name is the filename without the .toml extension. Custom themes in ~/.config/veila/themes/ take priority over bundled themes with the same name.

The easiest way to start a custom theme is to copy one of the bundled configs from the pages below and save it to ~/.config/veila/themes/my-theme.toml, then tweak from there.

Theme Examples

On this page