Polished Kitty config — Nerd Font integration, custom gradient tab bar, leader keychain, dark/light theme files.
- D2Coding — Korean-friendly monospace.
- Nerd Font — PUA catch-all to Symbols Nerd Font Mono (Powerline, FA, MDI, Devicons, Codicons).
- Themes —
themes/dark.conf(default) /themes/light.conf. Swap theinclude, orkitten themesfor auto dark/light (kitty 0.38+). - Mouse-hide on type, long-cmd notification (≥10s unfocused).
- Quiet — bell off, no update ping.
- Paste guarded — URL quote, control-code strip, confirm if large.
- 100 k scrollback + 4096 MB pager cache.
- Leader chord —
Ctrl+Shift+Spaceprefix, then an action key. - Splits — splits is the default layout; leader bindings for hsplit/vsplit,
h/j/k/;focus, arrow-key resize, zoom, close (Leader>Ltoggles splits ↔ stack). - Full theme palette — ANSI 16 + cursor/selection/url/marks/scrollbar handle, gradient-aligned.
- Command palette —
Leader>Pfuzzy-finds every action. - Scrollback nav — hover scrollbar,
[/]prompt jumps,/search,g/ylast-cmd output/copy. - Ctrl-L — clears screen + scrollback in one shot.
- Neovim scrollback pager —
qto quit, full vim motions. kitty @remote control —socket-only, per-PID socket at/tmp/kitty-{kitty_pid}.kitten ssh— auto-pushes terminfo, recolors per host (ssh.conf).- Dropdown terminal — Quake-style
quick-access-terminal.conf, toggled by a global shortcut. - File picker —
Leader>Ffuzzychoose-files; inserts the selected path at the prompt. - Startup session —
startup.sessionopens the first window in the splits layout. - Kawaii Tab Bar (
tab_bar.py):- Cell-level gradient
#98ABCC→#E890B0; tab N owns slice(N-1)/total → N/total, continuous at boundaries. - Rounded Powerline-Extra caps on the first/last tab;
▌divider between tabs. - Glyphs:
✿(→‼on attention) · title ·❥(→ superscript when >1 window group). - Active-tab fade muted ↔ white over 300 ms; bold persists.
- Bar background follows the active theme via
get_options(). - Fixed-width tabs (
FIXED_TAB_WIDTH = 24cells); shrinks only when kitty's per-tab budget forces it.
- Cell-level gradient
sh -c "$(curl -fsSL https://raw.githubusercontent.com/miniex/dotfiles.kitty/main/install.sh)"Clones to ~/.config/kitty, auto-detects Linux/macOS, writes os.conf. Then install D2Coding and Symbols Nerd Font Mono.
| Setting | Value |
|---|---|
| Font | D2Coding (size from OS profile) |
| Color Scheme | themes/dark.conf |
| Tab Bar | custom gradient #98ABCC → #E890B0, bottom |
| Remote Control | socket-only · unix:/tmp/kitty-{kitty_pid} |
| Scrollback | 100 k lines · Neovim pager · 4096 MB cache · hover scrollbar |
| Paste Safety | Quote URLs · strip control codes · confirm if large |
| Bell | Audio off, window alert on |
| Window Close | Confirm only if a non-shell program is running (-1) |
| Update Check | Disabled |
| Cmd-finish Notify | invisible (10s threshold) |
Color-scheme only — opacity, fg/bg, borders, tab_bar_background, ANSI 16, cursor/selection/url/marks.
| File | Look |
|---|---|
themes/dark.conf |
Cherry-blossom on near-black (default) |
themes/light.conf |
Cherry-blossom on warm cream |
Switch via the include line, or kitten themes --reload-in=all for system auto-switching.
| File | Settings |
|---|---|
os/linux.conf |
font_size 12.0 |
os/macos.conf |
font_size 18.0, titlebar blended into bg, Ctrl+Shift+Z zoom, Cmd+C/V copy/paste, remember window position/size |
Re-run sh install.sh to switch, or edit os.conf directly.
Tab move — Ctrl+Shift+J/K (back/fwd) · Ctrl+Shift+1…9/0 jump to tab 1–10 · Ctrl+Shift+Z zoom (macOS).
Clipboard — Ctrl+Shift+C/V copy/paste; on macOS Cmd+C/V work too.
Font size — Ctrl+Shift+= / Ctrl+Shift+- step ±1.0 · Ctrl+Shift+Backspace reset.
Hints (custom) — Ctrl+Shift+U URL · Ctrl+Shift+I IP · Leader>G git hash → clipboard. Ctrl+Shift+U shadows kitty's Unicode-input default, so it is rebound to Leader>U. Defaults still cover open/insert (Ctrl+Shift+E opens URL, etc.).
Shell-integration — Ctrl+Shift+G/Y last-cmd output/copy · Ctrl+Shift+/ search scrollback · Ctrl+Shift+[/] prev/next prompt · Ctrl+Shift+L clear screen + scrollback.
Leader keychain — prefix Ctrl+Shift+Space, then:
| Key | Action | Key | Action |
|---|---|---|---|
N |
New tab (cwd) | R |
Reload config |
W |
New window (cwd) | T |
Themes picker |
X |
Close tab | L |
Next layout |
E |
Edit kitty.conf |
C |
Clear scrollback |
- |
Split horizontal | \ |
Split vertical |
H |
Focus left | J |
Focus down |
K |
Focus up | ; |
Focus right |
Z |
Zoom (stack) | Q |
Close window |
P |
Command palette | G |
Git-hash hint |
←/→ |
Resize narrow/wide | ↑/↓ |
Resize tall/short |
0 |
Reset split size | U |
Unicode input |
F |
File picker |
ssh.conf is auto-loaded by kitten ssh. Alias ssh to it only inside kitty, so other terminals, TTYs, and remote hosts keep the real ssh:
# fish — ~/.config/fish/config.fish
if set -q KITTY_WINDOW_ID
alias ssh='kitten ssh'
end# bash/zsh — ~/.bashrc or ~/.zshrc
[ -n "$KITTY_WINDOW_ID" ] && alias ssh='kitten ssh'For a host where kitten ssh misbehaves (restricted shells, network gear), bypass the alias with command ssh host (or \ssh host). git, rsync, and scp call the ssh binary directly, so they are unaffected.
Default schemes: cherry-blossom (*), Red Sands (prod-*/*.prod, safety net), Solarized Dark (staging-*).
quick-access-terminal.conf defines a Quake-style drop-down terminal that inherits this config. It has no in-kitty binding — bind its toggle command to a global shortcut (run = show, run again = hide):
kitten quick-access-terminalLinux: your desktop's custom-shortcut settings (GNOME/KDE). macOS: run it once, then System Settings → Keyboard → Shortcuts → Services.
startup_session loads startup.session, which opens the first window in the splits layout. Edit that file to predefine panes, tabs, or startup programs — commented examples are included.
See CONTRIBUTING.md. ./tools/format.sh and ./tools/lint.sh must pass clean.
MIT © 2026 Han Damin.