Transform your macOS terminal into a professional development environment in seconds.
Created by VAMFI — Building the future of AI-powered development tools.
curl -fsSL https://raw.githubusercontent.com/vamfi/macos-terminal-setup/main/install.sh | bashThis automated setup transforms your basic macOS terminal into a feature-rich development environment with:
- Split panes and tabs for multitasking
- Extensive customization options
- GPU-accelerated rendering
- Advanced search and selection features
- Session persistence across disconnections
- Window and pane management
- Optimized key bindings (
Ctrl+Aprefix) - Mouse support and visual customizations
- Modern shell with extensive plugin ecosystem
- Intelligent autocompletion and suggestions
- Command history management
- Git integration and status display
- Fast, informative prompt with git status
- Execution time and exit code display
- Customizable segments and icons
- Optimized for performance
- zsh-autosuggestions: Gray text suggestions from history
- zsh-syntax-highlighting: Real-time command validation
- Git integration: Branch status and shortcuts
- macOS utilities: System-specific enhancements
- ✅ Syntax highlighting - Valid commands in green, invalid in red
- ✅ Autosuggestions - Smart completions from command history
- ✅ Git status - Branch and repository status in prompt
- ✅ Professional fonts - Meslo Nerd Font with icon support
- ✅ Smart aliases - Common commands shortened for efficiency
- ✅ History management - Enhanced command history with search
- ✅ Session persistence - Never lose your work with tmux
- ✅ Window management - Split panes and multiple windows
- ✅ Backup system - Existing configs are safely backed up
- ✅ Idempotent - Safe to run multiple times
- ✅ Error handling - Graceful failure recovery
- ✅ macOS optimized - Specifically designed for macOS
| Shortcut | Action |
|---|---|
Ctrl+A | |
Split pane vertically |
Ctrl+A - |
Split pane horizontally |
Ctrl+A h/j/k/l |
Navigate panes (vim-style) |
Ctrl+A H/J/K/L |
Resize panes |
Ctrl+A c |
Create new window |
Ctrl+A d |
Detach session |
Ctrl+A r |
Reload config |
| Shortcut | Action |
|---|---|
→ |
Accept autosuggestion |
Ctrl+R |
Search command history |
↑/↓ |
Browse command history |
Ctrl+A |
Move to line start |
Ctrl+E |
Move to line end |
The setup includes productivity-enhancing aliases:
# Navigation
.. # cd ..
... # cd ../..
ll # ls -alF (detailed listing)
# tmux session management
ta # tmux attach
tls # tmux list-sessions
tns name # tmux new-session -s name
# Git shortcuts
gs # git status
ga # git add
gc # git commit
gp # git push
gl # git pull
gd # git diff
# System utilities
myip # Get public IP address
localip # Get local network IPs
reload # Reload shell configurationIf you prefer to install components manually:
# Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install applications
brew install --cask iterm2
brew install tmux
brew install font-meslo-lg-nerd-fontsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# Syntax highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgit clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k- Copy the provided
.zshrcand.tmux.conffrom this repository - Set iTerm2 font to "MesloLGS NF" in Preferences → Profiles → Text
- Run
p10k configureto customize your prompt
- Open iTerm2 Preferences (
Cmd+,) - Go to Profiles → Text
- Set Font to MesloLGS NF (size 14pt recommended)
- Optionally enable font ligatures
Run the configuration wizard:
p10k configureThis will guide you through:
- Prompt style selection
- Icon and color preferences
- Information segments to display
# Start a new tmux session
tmux new-session -s test
# Try splitting panes
# Ctrl+A | (vertical split)
# Ctrl+A - (horizontal split)
# Test autosuggestions
# Start typing a previous command and see suggestionsEdit ~/.zshrc and add plugins to the plugins array:
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
brew
macos
tmux
docker # Add Docker commands
kubectl # Add Kubernetes support
node # Add Node.js utilities
)Edit ~/.tmux.conf to customize:
- Key bindings
- Status bar appearance
- Color schemes
- Additional plugins
Switch themes by changing the ZSH_THEME in ~/.zshrc:
ZSH_THEME="agnoster" # Alternative themes
ZSH_THEME="spaceship"
ZSH_THEME="pure"If Powerlevel10k doesn't display correctly:
- Ensure MesloLGS NF is selected in iTerm2
- Run
p10k configureto reconfigure - Verify font installation:
brew list --cask font-meslo-lg-nerd-font
If plugins don't work:
- Reload configuration:
source ~/.zshrc - Check plugin installation in
~/.oh-my-zsh/custom/plugins/ - Verify plugin names in
~/.zshrc
If tmux key bindings don't work:
- Reload tmux config:
tmux source-file ~/.tmux.conf - Ensure you're using the correct prefix:
Ctrl+A - Check tmux version:
tmux -V
The script installs and configures:
- iTerm2 - Terminal emulator
- tmux - Terminal multiplexer
- Oh My Zsh - Zsh framework
- Powerlevel10k - Zsh theme
- zsh-autosuggestions - Command suggestions
- zsh-syntax-highlighting - Syntax validation
- Meslo LG Nerd Font - Icon-capable font
- Custom configurations - Optimized .zshrc and .tmux.conf
This setup is optimized for performance:
- Fast startup - Plugins are efficiently loaded
- GPU acceleration - iTerm2 uses GPU rendering
- Optimized history - Smart history management
- Lazy loading - Components load only when needed
We welcome contributions! Please see our Contributing Guidelines for details.
git clone https://github.com/vamfi/macos-terminal-setup.git
cd macos-terminal-setup
./install.sh # Test the installationPlease open an issue with:
- macOS version
- Terminal application being used
- Steps to reproduce the problem
- Expected vs actual behavior
This project is licensed under the MIT License - see the LICENSE file for details.
This project builds upon the excellent work of:
- iTerm2 - Feature-rich terminal emulator
- Oh My Zsh - Zsh framework
- Powerlevel10k - Zsh theme
- tmux - Terminal multiplexer
Made with ❤️ by VAMFI in Ottawa, Canada
Building the future of AI-powered development environments