Files
bare-operating-system/docs/themes/README.md
T
2026-04-25 23:18:44 -04:00

57 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Host terminal themes (Bare OSmaintained)
These files mirror common terminal emulator formats so you can match your **host** terminal (outside Bare OS) to the same named presets used inside the session (`theme set <name>`).
**If colors look wrong in the guest:** see [users-manual — Troubleshooting](../../users-manual/07-troubleshooting-and-operations.md#themes-and-terminals) and [docs/troubleshooting.md](../troubleshooting.md).
They are **authored in-repo** for consistency with [`bare-os-theme-presets.js`](../../packages/bare-os-booter/lib/bare-os-theme-presets.js). They are **not** downloaded from third-party theme galleries.
Naming follows common patterns (similar in spirit to catalogs like [terminalcolors.com](https://terminalcolors.com/)): `alacritty-<preset>.yml`, `warp-<preset>.yaml`, `iterm-<preset>.itermcolors`.
---
## On this page
- [Bundled theme files](#bundled-theme-files)
- [Preset names](#preset-names)
- [Related session variables](#related-session-variables)
---
## Bundled theme files
- **`alacritty-nord.yml`** — Preset **`nord`**. [Alacritty](https://github.com/alacritty/alacritty) YAML. **Import:** merge the `colors:` block into your `alacritty.yml`.
- **`alacritty-dracula.yml`** — Preset **`dracula`**. Alacritty YAML. **Import:** same as above.
- **`warp-nord.yaml`** — Preset **`nord`**. [Warp](https://docs.warp.dev/appearance/custom-themes) theme. **Import:** use Warps theme picker or point it at this path.
- **`warp-dracula.yaml`** — Preset **`dracula`**. Warp. **Import:** same as above.
- **`iterm-nord.itermcolors`** — Preset **`nord`**. iTerm2 / Terminal.app. **Import:** **Profiles → Colors → Color Presets → Import**.
- **`iterm-dracula.itermcolors`** — Preset **`dracula`**. iTerm2 / Terminal.app. **Import:** same as above.
Additional presets (`gruvbox_dark`, `tokyo_night`, `catppuccin_mocha`, …) can be added here using the same filenames; contributions should keep parity with the JavaScript preset names in the booter.
---
## Preset names
Run `theme list` in a Bare OS shell. Examples: `default`, `nord`, `dracula`, `gruvbox_dark`, `catppuccin_mocha`, `tokyo_night`, `github_dark`, `solarized_dark`.
---
## Related session variables
See [environment variables reference](../reference/environment-and-posix-appendix.md#14-environment-variables-complete-list): `BARE_OS_THEME`, `BARE_OS_COLOR_DEPTH`, `LS_COLORS`, `BARE_OS_DIRCOLORS`, and host passthrough `TERM` / `COLORTERM`.
---
## Matching host and guest colors
Bare OS computes **`LS_COLORS`** from **`dircolors`** data and the active theme preset (**`bare-os-theme-presets.js`**). If the **guest** looks correct but your **host** terminal looks washed out, import the matching file from this directory (Alacritty, Warp, or iTerm). If the **guest** looks wrong, set **`BARE_OS_COLOR_DEPTH`** to **`256`** or **`truecolor`** to match what your emulator advertises via **`COLORTERM`**, then run `**theme set <name>`** inside the session. See [Handbook — Chapter 7: Themes, LS_COLORS, and real terminals](../../handbook/07-operations-and-development.md#themes-ls_colors-and-real-terminals).
---
## Contributing a new preset
1. Add the preset object to [`packages/bare-os-booter/lib/bare-os-theme-presets.js`](../../packages/bare-os-booter/lib/bare-os-theme-presets.js) (colors for **`LS_COLORS`** / **`dircolors`** generation).
2. Add host theme files here using the existing naming convention (`alacritty-<preset>.yml`, `warp-<preset>.yaml`, `iterm-<preset>.itermcolors`).
3. Document the preset name in this README under **Preset names** so operators can discover it.