macOS Terminal Setup

Ghostty Setup

Terminal, shell plugins, CLI tools, and config — all in one interactive cheatsheet.

$ git clone https://github.com/anishharis/ghostty-setup.git && cd ghostty-setup && bash setup.sh

Ghostty Shortcuts

Terminal navigation & window management
Ctrl+`
Quick terminal (global)
Cmd+T
New tab
Cmd+Shift+] [
Next / prev tab
Cmd+1-9
Jump to tab
Cmd+D
Split right
Cmd+Shift+D
Split down
Cmd+Opt+Arrows
Navigate splits
Cmd+Shift+Enter
Zoom / unzoom split
Cmd+Shift+P
Command palette
Opt+Click
Move cursor on command line
Cmd+Click
Open link
Opt+Enter
Newline without execute

lazygit

Terminal git UI
Space
Stage / unstage
c
Commit
p / P
Push / Pull
[ / ]
Switch panels
?
Help
q
Quit
📁

yazi

Terminal file manager
Enter
Open / enter directory
Space
Select
y
Copy
x
Cut
p
Paste
d
Delete
r
Rename
q
Quit
🔍

fzf

Fuzzy finder
Ctrl+R
Fuzzy search history
Ctrl+T
Fuzzy search files
Opt+C
Fuzzy cd
🚀

zoxide

Smart cd — remembers directories you visit
z name
Jump to best match
zi
Interactive picker (fzf)
🔎

ripgrep

Fast code search
rg "pattern"
Search all files
rg "fn" -t js
Filter by file type
rg "error" -i
Case-insensitive search
rg "import" src/
Search in directory
Δ

delta

Better git diffs — automatically active
n / N
Navigate between files
delta configuration
git config --global core.pager delta
git config --global interactive.diffFilter "delta --color-only"
git config --global delta.navigate true
git config --global delta.side-by-side true
git config --global merge.conflictstyle diff3
git config --global diff.colorMoved default
📈

btop / dust

System monitoring & disk usage
btop
System monitor (CPU, RAM, disk, net)
dust
Visual disk usage breakdown
q
Quit btop

Shell Plugins

zsh enhancements
zsh-autosuggestions
Inline history suggestions as you type. Press to accept.
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
zsh-autocomplete
Dropdown tab completions. Must be sourced near the top of .zshrc.
source /opt/homebrew/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
zsh-syntax-highlighting
Colors commands as you type. Must be sourced last in .zshrc.
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
zsh-you-should-use
Reminds you about aliases you've set up but aren't using.
source /opt/homebrew/share/zsh-you-should-use/you-should-use.plugin.zsh
📄

Config Files

Copy these to the right paths
Ghostty config ~/Library/Application Support/com.mitchellh.ghostty/config
# Font
font-family = JetBrainsMono Nerd Font

# Theme — auto switches with macOS light/dark mode
theme = light:Catppuccin Latte,dark:Catppuccin Mocha

# Window
background-opacity = 0.9
background-blur-radius = 20
window-padding-x = 10
window-padding-y = 8

# Mouse
mouse-hide-while-typing = true

# Quick terminal (Ctrl+` from anywhere)
quick-terminal-position = top
quick-terminal-animation-duration = 0.15
keybind = global:ctrl+grave_accent=toggle_quick_terminal

# Shell integration
shell-integration-features = cursor,sudo,title
.zshrc additions ~/.zshrc
# Near the top (before compdef calls)
source /opt/homebrew/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh

# After other setup
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-you-should-use/you-should-use.plugin.zsh
eval "$(zoxide init zsh)"
eval "$(starship init zsh)"

# Aliases
alias ls="eza --icons"
alias ll="eza --icons -la"
alias lt="eza --icons --tree --level=2"
alias cat="bat"

# Must be last
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
📥

Install

All brew install commands
Ghostty
brew install --cask ghostty
Nerd Font
brew install --cask font-jetbrains-mono-nerd-font
Shell Plugins
brew install zsh-autosuggestions
brew install zsh-autocomplete
brew install zsh-syntax-highlighting
brew install zsh-you-should-use
Prompt
brew install starship
starship preset nerd-font-symbols -o ~/.config/starship.toml
CLI Tools
brew install lazygit yazi eza bat fzf zoxide btop dust ripgrep git-delta
Git Delta Config
git config --global core.pager delta
git config --global interactive.diffFilter "delta --color-only"
git config --global delta.navigate true
git config --global delta.side-by-side true
git config --global merge.conflictstyle diff3
git config --global diff.colorMoved default
:/
No matches found. Try a different search term.
Copied!