Skip to content

๐Ÿš€ Transform your macOS terminal into a professional development environment with iTerm2, tmux, Zsh, and advanced customizations. One-command installation.

License

Notifications You must be signed in to change notification settings

VAMFI/macos-terminal-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ macOS Terminal Setup

Transform your macOS terminal into a professional development environment in seconds.

Created by VAMFI โ€” Building the future of AI-powered development tools.

โšก One-Command Installation

curl -fsSL https://raw.githubusercontent.com/vamfi/macos-terminal-setup/main/install.sh | bash

๐ŸŽฏ What You Get

This automated setup transforms your basic macOS terminal into a feature-rich development environment with:

๐Ÿ–ฅ๏ธ iTerm2 - Advanced Terminal Emulator

  • Split panes and tabs for multitasking
  • Extensive customization options
  • GPU-accelerated rendering
  • Advanced search and selection features

๐Ÿ”€ tmux - Terminal Multiplexer

  • Session persistence across disconnections
  • Window and pane management
  • Optimized key bindings (Ctrl+A prefix)
  • Mouse support and visual customizations

๐Ÿš Zsh + Oh My Zsh - Enhanced Shell

  • Modern shell with extensive plugin ecosystem
  • Intelligent autocompletion and suggestions
  • Command history management
  • Git integration and status display

โšก Powerlevel10k - Beautiful Prompt

  • Fast, informative prompt with git status
  • Execution time and exit code display
  • Customizable segments and icons
  • Optimized for performance

๐ŸŽจ Essential Plugins

  • 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

๐Ÿ”ง Features

๐ŸŒˆ Visual 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

โŒจ๏ธ Productivity Features

  • โœ… 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

๐Ÿ›ก๏ธ Reliability

  • โœ… 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

๐ŸŽฎ Key Bindings

tmux Commands (Prefix: Ctrl+A)

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

Zsh Navigation

Shortcut Action
โ†’ Accept autosuggestion
Ctrl+R Search command history
โ†‘/โ†“ Browse command history
Ctrl+A Move to line start
Ctrl+E Move to line end

๐Ÿ”— Useful Aliases

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 configuration

๐Ÿ“‹ Manual Installation

If you prefer to install components manually:

1. Install Dependencies

# 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-font

2. Install Oh My Zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

3. Install Plugins

# 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-autosuggestions

4. Install Powerlevel10k

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

5. Apply Configurations

  • Copy the provided .zshrc and .tmux.conf from this repository
  • Set iTerm2 font to "MesloLGS NF" in Preferences โ†’ Profiles โ†’ Text
  • Run p10k configure to customize your prompt

๐Ÿ”ง Post-Installation

Configure iTerm2

  1. Open iTerm2 Preferences (Cmd+,)
  2. Go to Profiles โ†’ Text
  3. Set Font to MesloLGS NF (size 14pt recommended)
  4. Optionally enable font ligatures

Configure Powerlevel10k

Run the configuration wizard:

p10k configure

This will guide you through:

  • Prompt style selection
  • Icon and color preferences
  • Information segments to display

Test Your Setup

# 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 suggestions

๐Ÿ› ๏ธ Customization

Adding More Plugins

Edit ~/.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
)

tmux Customization

Edit ~/.tmux.conf to customize:

  • Key bindings
  • Status bar appearance
  • Color schemes
  • Additional plugins

Zsh Theme

Switch themes by changing the ZSH_THEME in ~/.zshrc:

ZSH_THEME="agnoster"      # Alternative themes
ZSH_THEME="spaceship"
ZSH_THEME="pure"

๐Ÿ” Troubleshooting

Font Issues

If Powerlevel10k doesn't display correctly:

  1. Ensure MesloLGS NF is selected in iTerm2
  2. Run p10k configure to reconfigure
  3. Verify font installation: brew list --cask font-meslo-lg-nerd-font

Plugin Issues

If plugins don't work:

  1. Reload configuration: source ~/.zshrc
  2. Check plugin installation in ~/.oh-my-zsh/custom/plugins/
  3. Verify plugin names in ~/.zshrc

tmux Issues

If tmux key bindings don't work:

  1. Reload tmux config: tmux source-file ~/.tmux.conf
  2. Ensure you're using the correct prefix: Ctrl+A
  3. Check tmux version: tmux -V

๐Ÿ“ฆ What's Installed

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

๐Ÿš€ Performance

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

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

git clone https://github.com/vamfi/macos-terminal-setup.git
cd macos-terminal-setup
./install.sh  # Test the installation

Reporting Issues

Please open an issue with:

  • macOS version
  • Terminal application being used
  • Steps to reproduce the problem
  • Expected vs actual behavior

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

This project builds upon the excellent work of:

๐Ÿ”— Related Projects

  • VAMFI - AI-powered development tools
  • Blog Post - Detailed setup guide

Made with โค๏ธ by VAMFI in Ottawa, Canada

Building the future of AI-powered development environments

About

๐Ÿš€ Transform your macOS terminal into a professional development environment with iTerm2, tmux, Zsh, and advanced customizations. One-command installation.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages