Skip to content
otheme

Usage

otheme has three user-facing command shapes.

Apply a theme

otheme set <theme-or-alias>

<theme-or-alias> can be a built-in theme id or an alias.

Built-in themes:

  • vesper
  • atom-one-light
  • claude

Examples:

otheme set vesper
otheme set dark
otheme set light

Preview before applying

otheme set <theme-or-alias> --dry-run

Dry run prints the target plans and exits without writing files or running reload commands. This is the safest way to see what otheme will do on your machine.

List aliases

otheme alias

The default aliases are:

  • dark -> vesper
  • light -> atom-one-light

Aliases are stored in:

~/.config/otheme/config.json

Set an alias

otheme alias set <dark|light> <theme>

Examples:

otheme alias set dark vesper
otheme alias set light claude

After changing an alias, otheme set dark or otheme set light resolves to the theme you chose.

Config

otheme stores configuration at:

~/.config/otheme/config.json

Initialize it with:

otheme config

Per-theme overrides

The overrides key lets you customize target fields for specific themes without modifying the theme definition. Overrides are keyed by theme id and merged on top of the theme's own target fields when otheme set runs.

Example — keep a custom session formatter on a specific theme's tmux status bar:

{
  "overrides": {
    "vesper": {
      "tmux": {
        "sessionFormatter": "~/.config/tmux/tools/format-session/target/release/format-session"
      }
    }
  }
}

Any override key that does not match an active theme is silently ignored.