- Add missing Brewfile (found in home directory) - Add bashrc and FZF configurations to dotfiles - Install mas CLI for Mac App Store management - Enhance sysupdate() with moon phase and MAS updates - Update symlinks script for all shell configs 🖖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
353 lines
9.8 KiB
Plaintext
353 lines
9.8 KiB
Plaintext
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
# KITTY TERMINAL CONFIGURATION
|
|
# Following the μέτρον principle: measure, proportion, and what is fitting
|
|
#
|
|
# Philosophy:
|
|
# - Performance without excess
|
|
# - Visual clarity without distraction
|
|
# - Keyboard efficiency without complexity
|
|
# - Durable choices that age well
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
|
|
#: Fonts {{{
|
|
|
|
# Font choice rationale: Dank Mono provides excellent readability with
|
|
# tasteful ligatures that aid code comprehension without being excessive
|
|
# font_family Dank Mono
|
|
# bold_font Dank Mono
|
|
#italic_font Dank Mono
|
|
# bold_italic_font Dank Mono
|
|
|
|
# Font choice rationale: Iosevka Term SS08 has ultra-consistent rhythm, beautiful slant, clear punctuation
|
|
|
|
font_family Iosevka Term SS08
|
|
bold_font Iosevka Term SS08
|
|
italic_font Iosevka Term SS08
|
|
bold_italic_font Iosevka Term SS08
|
|
|
|
# 16pt provides optimal readability on modern displays without strain
|
|
font_size 16.0
|
|
|
|
# Fallback fonts for symbols and special characters
|
|
# This ensures proper rendering of powerline, nerd font icons, and unicode
|
|
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
|
|
symbol_map U+276F-U+2771,U+2500-U+259F Fira Code Nerd Font
|
|
symbol_map U+E000-U+E00A,U+E100-U+E117,U+E200-U+E2A9,U+E300-U+E3E3,U+E400-U+E4CF,U+E500-U+E5FF,U+E600-U+E6FF,U+E700-U+E7C5,U+E800-U+E8FF,U+EA00-U+EBFF,U+EC00-U+EE0C,U+F000-U+F2E0,U+F300-U+F372,U+F400-U+F533,U+F600-U+F64F,U+F700-U+F7FF,U+F800-U+F8FF,U+F900-U+F9FF,U+FA00-U+FAFF,U+FB00-U+FBFF,U+FC00-U+FCFF,U+FD00-U+FDFF,U+FE00-U+FE0F,U+FE30-U+FE4F Fira Code Nerd Font
|
|
|
|
# Mathematical symbols fallback
|
|
symbol_map U+2200-U+22FF Fira Code Nerd Font
|
|
|
|
# Box drawing and block elements with better alignment
|
|
symbol_map U+2500-U+259F Fira Code Nerd Font
|
|
|
|
# Powerline symbols (in case PowerlineSymbols font is not available)
|
|
symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 Fira Code Nerd Font
|
|
|
|
# Enable ligatures for better code readability (!=, =>, etc.)
|
|
disable_ligatures never
|
|
|
|
# Adjust vertical spacing for better readability (5% more line height)
|
|
adjust_line_height 105%
|
|
|
|
# Box drawing characters should align properly
|
|
box_drawing_scale 0.001, 1, 1.5, 2
|
|
|
|
#: }}}
|
|
|
|
#: Cursor customization {{{
|
|
|
|
# Block cursor for clear visibility
|
|
cursor_shape block
|
|
|
|
# Gentle blinking to locate cursor without distraction
|
|
cursor_blink_interval 0.5
|
|
cursor_stop_blinking_after 15.0
|
|
|
|
#: }}}
|
|
|
|
#: Scrollback {{{
|
|
|
|
# Generous but not excessive scrollback (10K lines)
|
|
scrollback_lines 10000
|
|
|
|
# Use less with better options for scrollback viewing
|
|
scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
|
|
|
|
# Fill new space when window is enlarged for continuity
|
|
scrollback_fill_enlarged_window yes
|
|
|
|
#: }}}
|
|
|
|
#: Mouse {{{
|
|
|
|
# Hide mouse quickly when typing
|
|
mouse_hide_wait 1.0
|
|
|
|
# URL handling with clear visual feedback
|
|
url_color #0087bd
|
|
url_style curly
|
|
detect_urls yes
|
|
|
|
# Smart clipboard behavior - copy on select for macOS workflow
|
|
copy_on_select clipboard
|
|
|
|
# Remove trailing spaces when copying (clean data)
|
|
strip_trailing_spaces smart
|
|
|
|
# Better word selection boundaries for programming
|
|
select_by_word_characters @-./_~?&=%+#
|
|
|
|
# Focus follows mouse for efficient window management
|
|
focus_follows_mouse no
|
|
|
|
#: }}}
|
|
|
|
#: Performance tuning {{{
|
|
|
|
# Balanced performance settings
|
|
repaint_delay 10
|
|
input_delay 3
|
|
|
|
# Sync to monitor to prevent tearing
|
|
sync_to_monitor yes
|
|
|
|
#: }}}
|
|
|
|
#: Terminal bell {{{
|
|
|
|
# Visual bell instead of audio (less disruptive)
|
|
enable_audio_bell no
|
|
visual_bell_duration 0.1
|
|
window_alert_on_bell yes
|
|
bell_on_tab yes
|
|
|
|
#: }}}
|
|
|
|
#: Window layout {{{
|
|
|
|
# Remember window size for consistency
|
|
remember_window_size yes
|
|
|
|
# Optimal initial window size for modern development
|
|
# 120 columns: fits side-by-side code views, exceeds 80-char standard
|
|
# 35 rows: comfortable viewing without overwhelming
|
|
initial_window_width 120c
|
|
initial_window_height 35c
|
|
|
|
# All layouts available but start with stack
|
|
enabled_layouts tall:bias=70,stack,fat,grid,horizontal,vertical
|
|
|
|
# Subtle window borders for multi-window clarity
|
|
window_border_width 1pt
|
|
draw_minimal_borders yes
|
|
|
|
# Small margin for visual breathing room
|
|
window_margin_width 2
|
|
single_window_margin_width 0
|
|
|
|
# Padding inside windows for readability
|
|
window_padding_width 8
|
|
|
|
# Center cell area when size doesn't divide evenly
|
|
placement_strategy center
|
|
|
|
# Nord-themed window border colors - gentle contrast
|
|
active_border_color #88c0d0
|
|
inactive_border_color #4c566a
|
|
bell_border_color #bf616a
|
|
|
|
# Slight fade for inactive windows (maintains focus)
|
|
inactive_text_alpha 0.8
|
|
|
|
# Hide decorations for more screen space
|
|
hide_window_decorations no
|
|
|
|
# Confirm before closing windows with multiple tabs
|
|
confirm_os_window_close 2
|
|
|
|
#: }}}
|
|
|
|
#: Tab bar {{{
|
|
|
|
# Tab bar at top (conventional placement)
|
|
tab_bar_edge top
|
|
|
|
# Minimal tab bar that appears only when needed
|
|
tab_bar_min_tabs 2
|
|
tab_bar_style powerline
|
|
tab_powerline_style slanted
|
|
|
|
# Clear tab titles with index for easy navigation
|
|
tab_title_template "{index}: {title}"
|
|
active_tab_title_template "[{index}] {title}"
|
|
|
|
# Nord-themed tab colors - easy on the eyes
|
|
active_tab_foreground #d8dee9
|
|
active_tab_background #5e81ac
|
|
active_tab_font_style bold
|
|
inactive_tab_foreground #4c566a
|
|
inactive_tab_background #3b4252
|
|
inactive_tab_font_style normal
|
|
|
|
#: }}}
|
|
|
|
#: Color scheme {{{
|
|
|
|
# Nord color scheme - gentle on eyes with excellent contrast
|
|
# Specifically chosen for users with vision considerations
|
|
foreground #d8dee9
|
|
background #2e3440
|
|
|
|
# Slightly more opacity for reduced eye strain
|
|
background_opacity 0.92
|
|
|
|
# Subtle selection colors that don't shock
|
|
selection_foreground #2e3440
|
|
selection_background #88c0d0
|
|
|
|
# ANSI colors (Nord palette - muted but clear)
|
|
# Dark variants
|
|
color0 #3b4252
|
|
color8 #4c566a
|
|
|
|
# Red - muted but visible
|
|
color1 #bf616a
|
|
color9 #bf616a
|
|
|
|
# Green - gentle on eyes
|
|
color2 #a3be8c
|
|
color10 #a3be8c
|
|
|
|
# Yellow - warm, not glaring
|
|
color3 #ebcb8b
|
|
color11 #ebcb8b
|
|
|
|
# Blue - calm but distinct
|
|
color4 #81a1c1
|
|
color12 #81a1c1
|
|
|
|
# Magenta - subtle purple
|
|
color5 #b48ead
|
|
color13 #b48ead
|
|
|
|
# Cyan - soothing blue-green
|
|
color6 #88c0d0
|
|
color14 #8fbcbb
|
|
|
|
# White/light grays
|
|
color7 #e5e9f0
|
|
color15 #eceff4
|
|
|
|
#: }}}
|
|
|
|
#: Advanced {{{
|
|
|
|
# Use user's default shell
|
|
shell .
|
|
|
|
# Use configured editor
|
|
editor .
|
|
|
|
# Keep terminal open after process exits (for debugging)
|
|
close_on_child_death no
|
|
|
|
# Allow remote control for automation
|
|
allow_remote_control yes
|
|
listen_on unix:/tmp/kitty-{kitty_pid}
|
|
|
|
# Disable update checks (handle via homebrew)
|
|
update_check_interval 0
|
|
|
|
# Secure clipboard settings
|
|
clipboard_control write-clipboard write-primary read-clipboard
|
|
|
|
# Standard terminfo
|
|
term xterm-kitty
|
|
|
|
#: }}}
|
|
|
|
#: OS specific tweaks {{{
|
|
|
|
# macOS optimizations
|
|
macos_titlebar_color background
|
|
macos_option_as_alt yes
|
|
macos_quit_when_last_window_closed no
|
|
macos_window_resizable yes
|
|
macos_thicken_font 0
|
|
macos_traditional_fullscreen no
|
|
macos_show_window_title_in window
|
|
|
|
#: }}}
|
|
|
|
#: Keyboard shortcuts {{{
|
|
|
|
# Keep defaults minimal, add only essential customizations
|
|
kitty_mod cmd+shift
|
|
|
|
# Font size adjustments
|
|
map cmd+plus change_font_size all +1.0
|
|
map cmd+minus change_font_size all -1.0
|
|
map cmd+0 change_font_size all 0
|
|
|
|
# Window management
|
|
map kitty_mod+enter new_window_with_cwd
|
|
map kitty_mod+n new_os_window_with_cwd
|
|
|
|
# Tab management
|
|
map cmd+t new_tab_with_cwd
|
|
map cmd+w close_tab
|
|
map cmd+] next_tab
|
|
map cmd+[ previous_tab
|
|
map cmd+1 goto_tab 1
|
|
map cmd+2 goto_tab 2
|
|
map cmd+3 goto_tab 3
|
|
map cmd+4 goto_tab 4
|
|
map cmd+5 goto_tab 5
|
|
map cmd+6 goto_tab 6
|
|
map cmd+7 goto_tab 7
|
|
map cmd+8 goto_tab 8
|
|
map cmd+9 goto_tab 9
|
|
|
|
# Layout management
|
|
map kitty_mod+l next_layout
|
|
map kitty_mod+z toggle_layout stack
|
|
|
|
# Scrollback search (crucial for productivity)
|
|
map kitty_mod+/ launch --type=overlay --stdin-source=@screen_scrollback /opt/homebrew/bin/fzf --no-sort --no-mouse --exact -i
|
|
|
|
# URL/path hints
|
|
map kitty_mod+e open_url_with_hints
|
|
map kitty_mod+p>f kitten hints --type path --program -
|
|
map kitty_mod+p>l kitten hints --type line --program -
|
|
map kitty_mod+p>w kitten hints --type word --program -
|
|
|
|
# Clear terminal properly
|
|
map cmd+k clear_terminal reset active
|
|
|
|
# Reload configuration
|
|
map kitty_mod+f5 load_config_file
|
|
|
|
#: }}}
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
# Design Rationale:
|
|
#
|
|
# 1. Font: Dank Mono chosen for clarity and tasteful ligatures
|
|
# 2. Symbols: Comprehensive fallback chain for nerd fonts, powerline, unicode
|
|
# 3. Colors: Dracula theme for proven readability and wide tool support
|
|
# 4. Performance: Balanced settings that prioritize responsiveness
|
|
# 5. Shortcuts: Minimal additions to defaults, focusing on frequent tasks
|
|
# 6. Layout: Thoughtful spacing and borders for multi-window work
|
|
# 7. macOS: Native integration while maintaining terminal efficiency
|
|
# 8. Window Size: 120x35 chars - optimal for code reading and side-by-side splits
|
|
#
|
|
# The symbol_map entries ensure that powerline prompts, file icons, git symbols,
|
|
# and other special characters render correctly even when not in the primary font.
|
|
#
|
|
# The 120-column width allows comfortable viewing of code up to 100 chars with
|
|
# some margin, while 35 rows provides good context without overwhelming.
|
|
#
|
|
# This configuration embodies "what is fitting" - no more, no less.
|
|
# ═══════════════════════════════════════════════════════════════════════════════ |