kitty terminal theme config

This commit is contained in:
2026-08-10 18:49:24 -04:00
parent 5c7f8911ec
commit 007a032568
5 changed files with 215 additions and 1 deletions
+4 -1
View File
@@ -18,6 +18,7 @@ My current setup is built around these core components:
- **[Waybar](https://github.com/Alexays/Waybar):** A customizable, modular status bar. - **[Waybar](https://github.com/Alexays/Waybar):** A customizable, modular status bar.
- **[AGS](https://github.com/Aylur/ags):** Aylur's Gtk Shell, used for creating custom, scriptable desktop widgets. - **[AGS](https://github.com/Aylur/ags):** Aylur's Gtk Shell, used for creating custom, scriptable desktop widgets.
- **Dynamic Theming:** Seamlessly integrated with Pywal to extract color palettes from wallpapers and apply them instantly across the entire system (widgets, terminal, status bar). - **Dynamic Theming:** Seamlessly integrated with Pywal to extract color palettes from wallpapers and apply them instantly across the entire system (widgets, terminal, status bar).
- **[kitty](https://sw.kovidgoyal.net/kitty/):** The terminal, with its own checked-in color theme — see [`kitty/`](kitty/README.md).
### Directory Structure ### Directory Structure
@@ -29,17 +30,19 @@ My current setup is built around these core components:
- **`themes/`**: Drop-in local color themes (one `colors.toml` per theme) that `install.sh` deploys into Omarchy's theme directory. See [`themes/README.md`](themes/README.md). - **`themes/`**: Drop-in local color themes (one `colors.toml` per theme) that `install.sh` deploys into Omarchy's theme directory. See [`themes/README.md`](themes/README.md).
- **`omarchy/hooks/`**: Event hooks for the Omarchy system (e.g. automatically applying dynamic themes when changing wallpapers). - **`omarchy/hooks/`**: Event hooks for the Omarchy system (e.g. automatically applying dynamic themes when changing wallpapers).
- **`branding/`**: Custom ASCII art and system branding assets. - **`branding/`**: Custom ASCII art and system branding assets.
- **`kitty/`**: kitty terminal config and its color theme, applied by hand rather than by `install.sh`. See [`kitty/README.md`](kitty/README.md).
## Docs ## Docs
- [Wallpaper Gallery](wallpaper-gallery/index.md) — preview of every wallpaper in `wallpapers/`, split alphabetically across [0-9, A-E](wallpaper-gallery/a-d.md), [E-M](wallpaper-gallery/e-m.md), [M-R](wallpaper-gallery/m-r.md), [R-Y](wallpaper-gallery/r-z.md). - [Wallpaper Gallery](wallpaper-gallery/index.md) — preview of every wallpaper in `wallpapers/`, split alphabetically across [0-9, A-E](wallpaper-gallery/a-d.md), [E-M](wallpaper-gallery/e-m.md), [M-R](wallpaper-gallery/m-r.md), [R-Y](wallpaper-gallery/r-z.md).
- [Themes](themes/README.md) — how to add a local color theme. - [Themes](themes/README.md) — how to add a local color theme.
- [kitty](kitty/README.md) — terminal config, and how to port a theme to it.
- [Keybinds](hypr/keybinds.md) — custom Hyprland keybindings on top of Omarchy's defaults. - [Keybinds](hypr/keybinds.md) — custom Hyprland keybindings on top of Omarchy's defaults.
- [Commands](commands.md) — custom `blob_*` CLI commands exposed by the installer. - [Commands](commands.md) — custom `blob_*` CLI commands exposed by the installer.
## Installation ## Installation
An automated installer script (`install.sh`) is provided to safely apply these configurations to your system. An automated installer script (`install.sh`) is provided to safely apply these configurations to your system. It targets Arch — `kitty/` is applied by hand, see [`kitty/README.md`](kitty/README.md).
```bash ```bash
# Run the standard installer # Run the standard installer
+49
View File
@@ -0,0 +1,49 @@
# kitty
Config for the [kitty](https://sw.kovidgoyal.net/kitty/) terminal.
`install.sh` does not deploy this — it shells out to `pacman`,
`sha256sum`, `hyprctl`, and `omarchy-theme-set`, so it only runs where
Omarchy does. Apply these by hand (or symlink them, below).
Two files, mirroring how kitty is set up on the Omarchy side:
- `kitty.conf` — fonts, window, tabs, cursor, and platform options.
Ends up as one `include current-theme.conf` plus real settings; kitty's
own 125KB commented reference config is deliberately not checked in.
- `current-theme.conf` — the active palette, currently **flats**.
## Theming
Under Omarchy, `omarchy-theme-set` regenerates the terminal palette from
`themes/<name>/colors.toml` whenever the theme changes. Nothing does that
here, so `current-theme.conf` is a hand translation of that same toml
into kitty's config syntax — meaning it does **not** track edits to
`themes/flats/colors.toml`.
To switch themes, retranslate the 22 keys from another
`themes/<name>/colors.toml`. The mapping is direct (`background`
`background`, `color0``color0`, …), with the kitty-only extras
(borders, tab bar, marks, `cursor_text_color`, `url_color`) derived from
`accent` and `background`.
## Fonts
`kitty.conf` expects **JetBrainsMono Nerd Font**:
```bash
brew install --cask font-jetbrains-mono-nerd-font
```
## Install
```bash
# Symlink (config tracks the repo — recommended)
ln -sf "$PWD/kitty/kitty.conf" ~/.config/kitty/kitty.conf
ln -sf "$PWD/kitty/current-theme.conf" ~/.config/kitty/current-theme.conf
# Or copy, if you'd rather edit the live files independently
cp kitty/*.conf ~/.config/kitty/
```
Reload a running kitty with `ctrl+cmd+,`. New windows pick up changes on
their own.
+83
View File
@@ -0,0 +1,83 @@
# vim:ft=kitty
## name: Flats
## upstream: themes/flats/colors.toml
## blurb: Dark theme with a soft blue accent. Hand-translated from the
## Omarchy colors.toml, since macOS has no omarchy-theme-set.
# The basic colors
foreground #cbd2d9
background #0f1012
selection_foreground #0f1012
selection_background #7babe3
# Cursor colors
cursor #cbd2d9
cursor_text_color #0f1012
# URL underline color when hovering with mouse
url_color #7babe3
# Kitty window border colors
active_border_color #7babe3
inactive_border_color #949494
bell_border_color #d58638
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #0f1012
active_tab_background #7babe3
inactive_tab_foreground #cbd2d9
inactive_tab_background #0f1012
tab_bar_background #000000
# Colors for marks (marked text in the terminal)
mark1_foreground #0f1012
mark1_background #7babe3
mark2_foreground #0f1012
mark2_background #38d586
mark3_foreground #0f1012
mark3_background #d58638
# The 16 terminal colors
#
# Note: flats maps the ANSI slots unconventionally — color4 (blue) holds a
# magenta and color6 (cyan) holds the blue, among others. Kept faithful to
# colors.toml so both machines render identically; the comments below name
# the ANSI slot, not the resulting hue.
# black
color0 #000000
color8 #949494
# red
color1 #d53838
color9 #d53838
# green
color2 #38d4d5
color10 #38d4d5
# yellow
color3 #d58638
color11 #d58638
# blue
color4 #d53886
color12 #d53886
# magenta
color5 #38d586
color13 #38d586
# cyan
color6 #3886d5
color14 #3886d5
# white
color7 #d4d4d4
color15 #d4d4d4
+71
View File
@@ -0,0 +1,71 @@
# vim:ft=kitty
#
# kitty config for macOS. The Arch side of these dotfiles gets its terminal
# colors from omarchy-theme-set rewriting the active theme; there is no
# omarchy here, so current-theme.conf is checked in alongside this file and
# generated by hand from themes/<name>/colors.toml.
include current-theme.conf
# Fonts
font_family JetBrainsMono Nerd Font Regular
bold_font JetBrainsMono Nerd Font Bold
italic_font JetBrainsMono Nerd Font Italic
bold_italic_font JetBrainsMono Nerd Font Bold Italic
font_size 14.0
adjust_line_height 115%
disable_ligatures cursor
# Use CoreText's glyph rendering rather than kitty's own blending.
text_composition_strategy platform
# Window
window_padding_width 18
hide_window_decorations no
background_opacity 1.0
background_blur 0
confirm_os_window_close 0
remember_window_size yes
initial_window_width 120c
initial_window_height 34c
inactive_text_alpha 0.85
# Tabs
tab_bar_edge top
tab_bar_style powerline
tab_powerline_style slanted
tab_bar_min_tabs 2
tab_title_template "{index} {title}"
# Cursor
cursor_shape beam
cursor_beam_thickness 1.6
cursor_blink_interval 0
cursor_trail 0
# Performance
sync_to_monitor yes
repaint_delay 8
input_delay 2
wheel_scroll_multiplier 3.0
# Bell
enable_audio_bell no
visual_bell_duration 0.1
# Scrollback
scrollback_lines 20000
# macOS specific
macos_option_as_alt yes
macos_quit_when_last_window_closed yes
macos_show_window_title_in all
macos_traditional_fullscreen no
+8
View File
@@ -58,3 +58,11 @@ Any theme already installed under `~/.config/omarchy/themes/` or
bundled with Omarchy itself (`$OMARCHY_PATH/themes/`) shows up bundled with Omarchy itself (`$OMARCHY_PATH/themes/`) shows up
automatically too — this directory is just for ones you want tracked automatically too — this directory is just for ones you want tracked
in dotfiles. in dotfiles.
## kitty
`omarchy-theme-set` and its app-config templates only run under Omarchy,
so themes do not propagate to the standalone kitty config in
[`kitty/`](../kitty/README.md). It carries its own hand-translated copy
of one palette at `kitty/current-theme.conf` — currently **flats**
which changing a theme's `colors.toml` here does not update.