-
Notifications
You must be signed in to change notification settings - Fork 0
Swapping parts and theming
Every part can be changed. Most of it needn't be, and most of it won't be.
| part | default | alternatives |
|---|---|---|
| terminal | ghostty | kitty, wezterm — none of which bothy installs |
| multiplexer | zellij | or turn it off, and run the agent in this terminal |
| file browser | yazi | or turn it off |
| editor | vim | nano, helix |
| agent | claude-code | any command you care to name |
| theme | dracula | any palette you write down |
bothy config set slots.editor helixMost people change the editor and nothing else. The others change everything, once, and then also nothing else.
Three layouts come with bothy, and are called profiles because everything
has to be called something. cockpit is the default: files on top, agent and
shell beneath — the screenshot, and the reason any of this exists. editor
puts an editor, an agent and a shell side by side, for people who would
rather type than watch. minimal is an agent and a shell and nothing else,
for small screens and for being somewhere else over SSH.
bothy config set profile minimalProfiles are short TOML files. Write your own and put it in
~/.config/bothy/profiles/.
bothy ships one palette, Dracula, which has outlasted most of the software it was first drawn for, and colours every tool from the same eleven values, including a vim colour scheme it writes for you so that you do not have to learn how. If you would prefer another, write it:
bothy theme example > ~/.config/bothy/my-palette.toml
$EDITOR ~/.config/bothy/my-palette.toml
bothy config set theme.palette ~/.config/bothy/my-palette.tomlThis is also how a palette you have paid for gets in. bothy contains no colours except its own, so anything you licensed stays on your machine, and bothy stays the colour it arrived in. A test checks this, because good intentions do not.
If you already have a Yazi setup you like, keep it. Most people who have one do.
# ~/.config/bothy/config.toml
passthrough = ["browser"]bothy then points Yazi at your config rather than its own, and does not read
yours on the way past. Name the slot rather than what is in it — "yazi" is
understood too, and stops meaning anything the day you put something else in
the browser slot. To adjust bothy's config rather than replace it, put a
file in ~/.config/bothy/overrides/<tool>/<file>. bothy adds it to the end
of its own, so yours wins, which is the correct ending to most arguments
between a tool and the person who has to use it.
Why the slots are shaped this way, and why only the multiplexer needs Go:
ADR-017
and ADR-019.
Adding one is docs/adding-a-provider.md.