Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions ghostty/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Ghostty configuration

# Font
font-family = FiraCode Nerd Font
font-size = 13

# Theme - auto light/dark switching
theme = light:Catppuccin Latte,dark:Catppuccin Mocha

# Window
window-padding-x = 8
window-padding-y = 8
scrollback-limit = 10000

# Cursor
cursor-style = bar

# Shell integration
shell-integration = true

# Keybindings
keybind = cmd+t=new_tab
keybind = cmd+w=close_surface
keybind = cmd+shift+enter=new_split:right
keybind = cmd+shift+minus=new_split:down
keybind = ctrl+shift+up=jump_to_prompt:-1
keybind = ctrl+shift+down=jump_to_prompt:1

# macOS specific (ignored on Linux)
macos-titlebar-style = unified
macos-option-as-alt = true
10 changes: 10 additions & 0 deletions ghostty/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash
# Symlink Ghostty config

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CONFIG_DIR="$HOME/.config/ghostty"

mkdir -p "$CONFIG_DIR"
ln -sf "$SCRIPT_DIR/config" "$CONFIG_DIR/config"

echo "Ghostty config linked"
41 changes: 27 additions & 14 deletions setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -142,25 +142,31 @@ if [[ "$PROFILE" != "minimal" ]] && command -v tmux &>/dev/null; then
fi

# Install plugins directly (same plugins as configured in .tmux.conf)
# Using simple array format for bash 3.2 compatibility (macOS default)
echo "Installing tmux plugins..."

declare -A PLUGINS=(
["tmux-sensible"]="https://github.com/tmux-plugins/tmux-sensible"
["tmux-resurrect"]="https://github.com/tmux-plugins/tmux-resurrect"
["tmux-continuum"]="https://github.com/tmux-plugins/tmux-continuum"
["tmux-yank"]="https://github.com/tmux-plugins/tmux-yank"
["tmux-fzf"]="https://github.com/sainnhe/tmux-fzf"
["tmux-battery"]="https://github.com/tmux-plugins/tmux-battery"
["tmux-cpu"]="https://github.com/tmux-plugins/tmux-cpu"
["tmux-prefix-highlight"]="https://github.com/tmux-plugins/tmux-prefix-highlight"
["tmux-open"]="https://github.com/tmux-plugins/tmux-open"
)

for plugin in "${!PLUGINS[@]}"; do
PLUGINS="
tmux-sensible|https://github.com/tmux-plugins/tmux-sensible
tmux-resurrect|https://github.com/tmux-plugins/tmux-resurrect
tmux-continuum|https://github.com/tmux-plugins/tmux-continuum
tmux-yank|https://github.com/tmux-plugins/tmux-yank
tmux-fzf|https://github.com/sainnhe/tmux-fzf
tmux-battery|https://github.com/tmux-plugins/tmux-battery
tmux-cpu|https://github.com/tmux-plugins/tmux-cpu
tmux-prefix-highlight|https://github.com/tmux-plugins/tmux-prefix-highlight
tmux-open|https://github.com/tmux-plugins/tmux-open
"

echo "$PLUGINS" | while read -r line; do
[[ -z "$line" ]] && continue
plugin="${line%%|*}"
url="${line##*|}"
plugin=$(echo "$plugin" | xargs) # trim whitespace
url=$(echo "$url" | xargs)
PLUGIN_DIR="$TMUX_PLUGINS_DIR/$plugin"
if [ ! -d "$PLUGIN_DIR" ]; then
echo " Installing $plugin..."
git clone --quiet "${PLUGINS[$plugin]}" "$PLUGIN_DIR"
git clone --quiet "$url" "$PLUGIN_DIR"
else
echo " $plugin already installed"
fi
Expand Down Expand Up @@ -222,6 +228,13 @@ if [[ "$PROFILE" == "full" ]]; then
fi
fi

# Run ghostty setup (full profile only - requires GUI)
if [[ "$PROFILE" == "full" ]]; then
if [[ -f "$SCRIPT_DIR/ghostty/install.sh" ]]; then
bash "$SCRIPT_DIR/ghostty/install.sh"
fi
fi

# Run starship setup (skip for minimal)
if [[ "$PROFILE" != "minimal" ]]; then
echo ""
Expand Down