From 007a0325680e08b3967d2ad569f56b79e1ca8355 Mon Sep 17 00:00:00 2001 From: GamerBoss101 Date: Mon, 10 Aug 2026 18:49:24 -0400 Subject: [PATCH] kitty terminal theme config --- README.md | 5 ++- kitty/README.md | 49 ++++++++++++++++++++++++ kitty/current-theme.conf | 83 ++++++++++++++++++++++++++++++++++++++++ kitty/kitty.conf | 71 ++++++++++++++++++++++++++++++++++ themes/README.md | 8 ++++ 5 files changed, 215 insertions(+), 1 deletion(-) create mode 100644 kitty/README.md create mode 100644 kitty/current-theme.conf create mode 100644 kitty/kitty.conf diff --git a/README.md b/README.md index 683732b..236376e 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ My current setup is built around these core components: - **[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. - **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 @@ -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). - **`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. +- **`kitty/`**: kitty terminal config and its color theme, applied by hand rather than by `install.sh`. See [`kitty/README.md`](kitty/README.md). ## 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). - [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. - [Commands](commands.md) — custom `blob_*` CLI commands exposed by the installer. ## 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 # Run the standard installer diff --git a/kitty/README.md b/kitty/README.md new file mode 100644 index 0000000..f08994e --- /dev/null +++ b/kitty/README.md @@ -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//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//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. diff --git a/kitty/current-theme.conf b/kitty/current-theme.conf new file mode 100644 index 0000000..0c97e1a --- /dev/null +++ b/kitty/current-theme.conf @@ -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 diff --git a/kitty/kitty.conf b/kitty/kitty.conf new file mode 100644 index 0000000..2de2a07 --- /dev/null +++ b/kitty/kitty.conf @@ -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//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 diff --git a/themes/README.md b/themes/README.md index a552423..e2bf205 100644 --- a/themes/README.md +++ b/themes/README.md @@ -58,3 +58,11 @@ Any theme already installed under `~/.config/omarchy/themes/` or bundled with Omarchy itself (`$OMARCHY_PATH/themes/`) shows up automatically too — this directory is just for ones you want tracked 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.