Minimal, fast setup for macOS using Ghostty / iTerm2 + Zsh + Starship.
Assumes you have Homebrew installed.
# 1. Clone repo
git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles
# 2. Install all dependencies using Brewfile
brew bundle install# Backup old configs (ignore errors if files don't exist)
mv ~/.zshrc ~/.zshrc.bak
mv ~/.zshenv ~/.zshenv.bak
mv ~/.zprofile ~/.zprofile.bak
mv ~/.config/starship.toml ~/.config/starship.toml.bak
mv ~/.config/atuin/config.toml ~/.config/atuin/config.toml.bak
# Link zsh configs
ln -s ~/dotfiles/zsh/.zshrc ~/.zshrc
ln -s ~/dotfiles/zsh/.zshenv ~/.zshenv
ln -s ~/dotfiles/zsh/.zprofile ~/.zprofile
# Link starship config
mkdir -p ~/.config
ln -s ~/dotfiles/starship/starship.toml ~/.config/starship.toml
# Link Ghostty config
mkdir -p ~/.config/ghostty
ln -s ~/dotfiles/ghostty/.config/ghostty/config ~/.config/ghostty/config
# Link Atuin config
mkdir -p ~/.config/atuin
ln -s ~/dotfiles/atuin/.config/atuin/config.toml ~/.config/atuin/config.toml
# Link iTerm2 preferences
ln -s ~/dotfiles/iterm2/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecode.iterm2.plist
# Link Warp config
mkdir -p ~/.warp/themes
ln -s ~/dotfiles/warp/.warp/settings.toml ~/.warp/settings.toml
ln -s ~/dotfiles/warp/.warp/keybindings.yaml ~/.warp/keybindings.yaml
ln -s ~/dotfiles/warp/.warp/themes/graphite_atelier.yaml ~/.warp/themes/graphite_atelier.yaml# Refresh Shell
source ~/.zshrc- Zsh - Shell configuration with .zshrc, .zshenv, and .zprofile
- Starship - Fast, customizable prompt
- Zoxide - Smarter cd command
- Ghostty - GPU-accelerated terminal emulator (primary)
- Warp - Agentic terminal, on trial alongside Ghostty; settings, keybindings, and a Graphite Atelier theme
- iTerm2 - Feature-rich terminal emulator for macOS (backup)
- atuin - Shell history search (replaces fzf Ctrl+R)
- direnv - Per-directory environment auto-loading
- lazygit - TUI git client
- uv - Fast Python project/runtime manager
- mise - Per-project tool versions and task runner
- yazi - Terminal file manager
- zellij - Terminal multiplexer alternative
- tmux - Optional remote / long-running session tool
- nvm - Node.js version manager
- pyenv - Python version manager
- zsh-autosuggestions - Fish-like autosuggestions
- zsh-syntax-highlighting - Real-time syntax highlighting
| Command | Description |
|---|---|
z <dir> |
Smart jump to directory (e.g., z dot -> ~/dotfiles). |
src |
Reload .zshrc. |
croot |
Jump to the current git repository root. |
take x |
Create a directory and cd into it. |
ff |
Fuzzy-find files with preview. |
fcd |
Fuzzy-find and cd into a directory. |
splash |
Show the YW banner and system snapshot on demand. |
uvr |
Shortcut for uv run when uv is installed. |
mr |
Shortcut for mise run when mise is installed. |
| Shortcut | Description |
|---|---|
Alt+Space |
Toggle quick terminal. |
Cmd+D |
Split right. |
Cmd+Shift+D |
Split down. |
Cmd+Shift+Enter |
Zoom/unzoom the current split. |
Cmd+Up / Cmd+Down |
Jump between shell prompts in scrollback. |
Cmd+Shift+P |
Open Ghostty command palette. |