Skip to content

Config File Format

The syntax of ~/.config/otty/config.toml.

Despite the .toml extension, Otty's config is parsed in Ghostty-style key = value lines — one per line, with TOML-compatible string quoting. This keeps the file portable for users coming from Ghostty.

Lexical structure

# Comments start with `#`
key = value
key-with-dashes = "string value"
font-feature = "+liga, +calt"   # quoted to preserve commas
  • One assignment per line.
  • Whitespace around = is optional.
  • Unknown keys are silently ignored — typos won't error.
  • Blank lines and # comments are skipped.

Value types

TypeExamples
StringJetBrains Mono, "value with spaces", 'literal'
Integer13, 0, -1
Float0.92, 1.0, 3.14
Booleantrue / false, also on / off
Color#RRGGBB, #RRGGBBAA, named (red, cornflowerblue)
Enumblock, glass-dark — see each key's docs
Listrepeated keys (e.g. multiple keybind = ...)

Includes

include = ~/.config/otty/personal.toml
include = ~/dotfiles/otty/work.toml

Later includes override earlier ones; the main file is read last and overrides everything.

Environment expansion

~ and $VAR expand inside string values:

working-directory = ~/projects
shell-command     = $HOMEBREW_PREFIX/bin/fish

Hot reload

Saving config.toml reapplies the changes immediately to every window. No restart, no signal.

See also

Otty