Recover missing Brewfile and enhance system updates
- 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>
This commit is contained in:
co-authored by
Claude
parent
1f543d195b
commit
a0e34f78ae
@@ -0,0 +1,344 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Ansi 0 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.32156863808631897</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.25882354378700256</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.23137255012989044</real>
|
||||
</dict>
|
||||
<key>Ansi 1 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.41568627953529358</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.38039216399192810</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.74901962280273438</real>
|
||||
</dict>
|
||||
<key>Ansi 10 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.54901963472366333</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.74509805440902710</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.63921570777893066</real>
|
||||
</dict>
|
||||
<key>Ansi 11 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.54509806632995605</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.79607844352722168</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.92156863212585449</real>
|
||||
</dict>
|
||||
<key>Ansi 12 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.75686275959014893</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.63137257099151611</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.50588238239288330</real>
|
||||
</dict>
|
||||
<key>Ansi 13 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.67843139171600342</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.55686277151107788</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.70588237047195435</real>
|
||||
</dict>
|
||||
<key>Ansi 14 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.73333334922790527</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.73725491762161255</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.56078433990478516</real>
|
||||
</dict>
|
||||
<key>Ansi 15 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.95686274766921997</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.93725490570068359</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.92549020051956177</real>
|
||||
</dict>
|
||||
<key>Ansi 2 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.54901963472366333</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.74509805440902710</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.63921570777893066</real>
|
||||
</dict>
|
||||
<key>Ansi 3 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.54509806632995605</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.79607844352722168</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.92156863212585449</real>
|
||||
</dict>
|
||||
<key>Ansi 4 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.75686275959014893</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.63137257099151611</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.50588238239288330</real>
|
||||
</dict>
|
||||
<key>Ansi 5 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.67843139171600342</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.55686277151107788</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.70588237047195435</real>
|
||||
</dict>
|
||||
<key>Ansi 6 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.81568628549575806</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.75294119119644165</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.53333336114883423</real>
|
||||
</dict>
|
||||
<key>Ansi 7 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.94117647409439087</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.91372549533843994</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.89803922176361084</real>
|
||||
</dict>
|
||||
<key>Ansi 8 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.41568627953529358</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.33725491166114807</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.29803922772407532</real>
|
||||
</dict>
|
||||
<key>Ansi 9 Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.41568627953529358</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.38039216399192810</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.74901962280273438</real>
|
||||
</dict>
|
||||
<key>Background Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.25098040699958801</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.20392157137393951</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.18039216101169586</real>
|
||||
</dict>
|
||||
<key>Badge Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>0.5</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.0</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.1491314172744751</real>
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Bold Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.91372549533843994</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.87058824300765991</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.84705883264541626</real>
|
||||
</dict>
|
||||
<key>Cursor Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.91372549533843994</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.87058824300765991</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.84705883264541626</real>
|
||||
</dict>
|
||||
<key>Cursor Guide Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>0.25</real>
|
||||
<key>Blue Component</key>
|
||||
<real>1</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.9268307089805603</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.70213186740875244</real>
|
||||
</dict>
|
||||
<key>Cursor Text Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.25098040699958801</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.20392157137393951</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.18039216101169586</real>
|
||||
</dict>
|
||||
<key>Foreground Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.91372549533843994</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.87058824300765991</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.84705883264541626</real>
|
||||
</dict>
|
||||
<key>Link Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.73423302173614502</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.35916060209274292</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.0</real>
|
||||
</dict>
|
||||
<key>Selected Text Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.25098040699958801</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.20392157137393951</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.18039216101169586</real>
|
||||
</dict>
|
||||
<key>Selection Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.81568628549575806</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.75294119119644165</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.53333336114883423</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,99 @@
|
||||
# iTerm2 Configuration
|
||||
|
||||
This directory contains iTerm2 configuration to match the Kitty terminal setup with Nord theme.
|
||||
|
||||
## Quick Setup
|
||||
|
||||
1. **Import Nord Color Scheme**:
|
||||
```bash
|
||||
# Run the setup script
|
||||
~/dotfiles/config/iterm2/setup-iterm.sh
|
||||
```
|
||||
|
||||
2. **Manual Color Import**:
|
||||
- Open iTerm2
|
||||
- Press `Cmd+,` to open Preferences
|
||||
- Go to **Profiles → Colors**
|
||||
- Click **Color Presets...** dropdown
|
||||
- Select **Import...**
|
||||
- Navigate to `~/dotfiles/config/iterm2/Nord.itermcolors`
|
||||
- Select **Nord** from the Color Presets dropdown
|
||||
|
||||
## Matching Settings with Kitty
|
||||
|
||||
The following settings match your Kitty configuration:
|
||||
|
||||
### Font Configuration
|
||||
- **Font**: Iosevka Term SS08 (or Dank Mono if you prefer)
|
||||
- **Size**: 16pt
|
||||
- **Ligatures**: Enabled
|
||||
- **Non-ASCII Font**: Fira Code Nerd Font (for symbols)
|
||||
|
||||
### Window Settings
|
||||
- **Default Size**: 120 columns × 35 rows
|
||||
- **Transparency**: 8% (equivalent to Kitty's 0.92 opacity)
|
||||
- **Blur**: Optional, helps with readability
|
||||
|
||||
### Behavior
|
||||
- **Scrollback**: 10,000 lines
|
||||
- **Copy on Selection**: Enabled
|
||||
- **Visual Bell**: Enabled (no audio bell)
|
||||
- **Cursor**: Block, blinking
|
||||
|
||||
## Manual Configuration
|
||||
|
||||
If you prefer to configure manually:
|
||||
|
||||
1. **Font**:
|
||||
- Profiles → Text → Font → Change Font
|
||||
- Select "Iosevka Term SS08" or "Dank Mono", Size 16
|
||||
|
||||
2. **Colors**:
|
||||
- Already handled by importing Nord.itermcolors
|
||||
|
||||
3. **Window**:
|
||||
- Profiles → Window → Settings for New Windows
|
||||
- Columns: 120, Rows: 35
|
||||
- Transparency: Drag slider to ~8%
|
||||
|
||||
4. **Terminal**:
|
||||
- Profiles → Terminal → Scrollback Buffer
|
||||
- Set to 10,000 lines
|
||||
|
||||
5. **Keys**:
|
||||
- Profiles → Keys → Key Mappings
|
||||
- Add shortcuts as needed to match Kitty
|
||||
|
||||
## Keyboard Shortcuts
|
||||
|
||||
To match Kitty's shortcuts in iTerm2:
|
||||
|
||||
| Action | Kitty | iTerm2 Setup |
|
||||
|--------|-------|--------------|
|
||||
| New Tab | `Cmd+T` | Default |
|
||||
| Close Tab | `Cmd+W` | Default |
|
||||
| Next Tab | `Cmd+]` | Default |
|
||||
| Previous Tab | `Cmd+[` | Default |
|
||||
| Font Size + | `Cmd+Plus` | Preferences → Keys → + |
|
||||
| Font Size - | `Cmd+Minus` | Preferences → Keys → + |
|
||||
| Font Size Reset | `Cmd+0` | Preferences → Keys → + |
|
||||
|
||||
## Saving Your Configuration
|
||||
|
||||
To save your iTerm2 configuration to dotfiles:
|
||||
|
||||
1. Open Preferences (`Cmd+,`)
|
||||
2. Go to **General → Preferences**
|
||||
3. Click **Load preferences from a custom folder**
|
||||
4. Select `~/dotfiles/config/iterm2`
|
||||
5. Check **Save changes to folder when iTerm2 quits**
|
||||
|
||||
This ensures your iTerm2 settings are backed up with your dotfiles.
|
||||
|
||||
## Nord Theme Benefits
|
||||
|
||||
The Nord color scheme is specifically chosen for:
|
||||
- **Reduced eye strain** with muted colors
|
||||
- **Excellent contrast** without being harsh
|
||||
- **Better readability** for users with vision considerations
|
||||
- **Consistent appearance** across Kitty and iTerm2
|
||||
Executable
+64
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
# Setup iTerm2 with Nord theme and matching Kitty settings
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
DOTFILES_DIR="$HOME/dotfiles"
|
||||
ITERM_CONFIG_DIR="$DOTFILES_DIR/config/iterm2"
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${BLUE}Setting up iTerm2 configuration...${NC}"
|
||||
|
||||
# 1. Tell iTerm2 to use custom preferences folder
|
||||
echo -e "${YELLOW}Configuring iTerm2 to use dotfiles preferences...${NC}"
|
||||
defaults write com.googlecode.iterm2 PrefsCustomFolder -string "$ITERM_CONFIG_DIR"
|
||||
defaults write com.googlecode.iterm2 LoadPrefsFromCustomFolder -bool true
|
||||
|
||||
# 2. Set specific preferences matching Kitty config
|
||||
echo -e "${YELLOW}Setting iTerm2 preferences to match Kitty...${NC}"
|
||||
|
||||
# Font settings (Iosevka Term SS08, 16pt - matching Kitty)
|
||||
defaults write com.googlecode.iterm2 "Normal Font" -string "IosevkaTermSS08-Regular 16"
|
||||
defaults write com.googlecode.iterm2 "Non Ascii Font" -string "FiraCodeNerdFontComplete-Regular 16"
|
||||
|
||||
# Enable ligatures
|
||||
defaults write com.googlecode.iterm2 "ASCII Ligatures" -bool true
|
||||
|
||||
# Window size (120x35 characters)
|
||||
defaults write com.googlecode.iterm2 "Columns" -int 120
|
||||
defaults write com.googlecode.iterm2 "Rows" -int 35
|
||||
|
||||
# Transparency (matching Kitty's 0.92 opacity = 8% transparency)
|
||||
defaults write com.googlecode.iterm2 "Transparency" -float 0.08
|
||||
|
||||
# Scrollback lines (10000)
|
||||
defaults write com.googlecode.iterm2 "Scrollback Lines" -int 10000
|
||||
|
||||
# Visual bell instead of audio
|
||||
defaults write com.googlecode.iterm2 "Silence Bell" -bool false
|
||||
defaults write com.googlecode.iterm2 "Visual Bell" -bool true
|
||||
|
||||
# Copy on selection
|
||||
defaults write com.googlecode.iterm2 "Copy to Pasteboard on Selection" -bool true
|
||||
|
||||
# Cursor settings
|
||||
defaults write com.googlecode.iterm2 "Cursor Type" -int 0 # Block cursor
|
||||
defaults write com.googlecode.iterm2 "Blinking Cursor" -bool true
|
||||
|
||||
echo -e "${GREEN}✅ iTerm2 preferences configured${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}To complete the setup:${NC}"
|
||||
echo "1. Open iTerm2"
|
||||
echo "2. Go to Preferences > Profiles > Colors"
|
||||
echo "3. Click 'Color Presets...' dropdown"
|
||||
echo "4. Select 'Import...' and choose: $ITERM_CONFIG_DIR/Nord.itermcolors"
|
||||
echo "5. Select 'Nord' from the Color Presets dropdown"
|
||||
echo ""
|
||||
echo "Optional: Export your full iTerm2 config:"
|
||||
echo " Preferences > General > Preferences"
|
||||
echo " Click 'Save settings to Folder' and choose: $ITERM_CONFIG_DIR"
|
||||
@@ -0,0 +1,353 @@
|
||||
# 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.
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
Reference in New Issue
Block a user