Files
seth-linux-theme/install-kitty-theme.sh
T
Mortdecai 0c0066fef1 feat: custom kitty tab bar with system status + install scripts
Custom tab_bar.py with flat tabs, right-aligned status area (git branch,
CPU%, memory, uptime, hostname, clock) using Nerd Font icons. F12/Shift+F12
toggle for tab bar. Added Kitty-setup.md, theme-setup.md, and install
scripts for kitty-only and full Debian theme deployment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 07:26:15 -04:00

65 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Install Seth's kitty theme + Nerd Font on any Linux machine
set -euo pipefail
TARGET_HOME="${1:-$HOME}"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
KITTY_DIR="$TARGET_HOME/.config/kitty"
echo "=== Seth Linux Theme — Kitty Install ==="
echo "Target: $TARGET_HOME"
# ── Nerd Font ──
if fc-list | grep -qi "JetBrainsMono.*Nerd" 2>/dev/null; then
echo "[ok] JetBrainsMono Nerd Font already installed."
else
echo "[install] Downloading JetBrainsMono Nerd Font..."
TMP="$(mktemp -d)"
curl -fsSL -o "$TMP/JetBrainsMono.zip" \
https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
sudo mkdir -p /usr/local/share/fonts/NerdFonts
sudo unzip -oq "$TMP/JetBrainsMono.zip" -d /usr/local/share/fonts/NerdFonts/
sudo fc-cache -f
rm -rf "$TMP"
echo "[ok] Nerd Font installed."
fi
# ── Kitty config dir ──
mkdir -p "$KITTY_DIR"
# Create default kitty.conf if none exists
if [ ! -f "$KITTY_DIR/kitty.conf" ]; then
echo "# kitty.conf" > "$KITTY_DIR/kitty.conf"
echo "[ok] Created default kitty.conf."
fi
# ── Copy theme files ──
cp "$SCRIPT_DIR/kitty/kitty-theme.conf" "$KITTY_DIR/"
cp "$SCRIPT_DIR/kitty/tab_bar.py" "$KITTY_DIR/"
cp "$SCRIPT_DIR/kitty/tab-bar-hide.conf" "$KITTY_DIR/"
cp "$SCRIPT_DIR/kitty/tab-bar-show.conf" "$KITTY_DIR/"
echo "[ok] Theme files copied."
# ── Set font in kitty.conf ──
if grep -q "^font_family" "$KITTY_DIR/kitty.conf"; then
sed -i 's/^font_family.*/font_family JetBrainsMono Nerd Font/' "$KITTY_DIR/kitty.conf"
elif grep -q "^# font_family" "$KITTY_DIR/kitty.conf"; then
sed -i 's/^# font_family.*/font_family JetBrainsMono Nerd Font/' "$KITTY_DIR/kitty.conf"
else
echo "" >> "$KITTY_DIR/kitty.conf"
echo "font_family JetBrainsMono Nerd Font" >> "$KITTY_DIR/kitty.conf"
fi
echo "[ok] Font set to JetBrainsMono Nerd Font."
# ── Include theme conf ──
if ! grep -q "include kitty-theme.conf" "$KITTY_DIR/kitty.conf" 2>/dev/null; then
echo "" >> "$KITTY_DIR/kitty.conf"
echo "include kitty-theme.conf" >> "$KITTY_DIR/kitty.conf"
fi
echo "[ok] kitty-theme.conf included."
echo ""
echo "Done. Restart kitty to see changes."
echo " F12 = hide tab bar"
echo " Shift+F12 = show tab bar"