Skip to content

Automated shell scripts to set up a modern, powerful terminal on macOS — iTerm2, Oh My Zsh, Powerlevel10k, and 20+ curated CLI tools in one command.

License

Notifications You must be signed in to change notification settings

asanchezyali/iterm2-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iTerm2 Setup for macOS

Automated scripts to set up a modern, productive terminal environment on macOS using iTerm2, Oh My Zsh, Powerlevel10k, and a curated set of CLI tools.

What's Included

Terminal & Shell

Component Description
iTerm2 Feature-rich terminal emulator for macOS
Oh My Zsh Framework for managing Zsh configuration
Powerlevel10k Fast and customizable Zsh theme
MesloLGS NF Nerd Font with icon support

Core CLI Replacements

Tool Replaces Description
eza ls File listing with icons and colors
bat cat Syntax highlighting and git integration
fd find Faster and more intuitive file search
ripgrep grep Blazingly fast recursive search
dust du Intuitive disk usage viewer
duf df Disk free space with visual layout
procs ps Modern process viewer
zoxide cd Smarter directory navigation
fzf - Fuzzy finder for everything

Git & Dev Workflow

Tool Description
lazygit Interactive terminal UI for git
delta Beautiful syntax-highlighted git diffs
gh GitHub CLI for PRs, issues, and more

System & Productivity

Tool Description
btop Interactive system monitor
jq JSON processor for the command line
tldr Simplified man pages with practical examples
tmux Terminal multiplexer (sessions, splits, tabs)
thefuck Auto-corrects your previous command
direnv Per-directory environment variables
atuin Searchable shell history with optional sync

Zsh Plugins

Plugin Description
zsh-autosuggestions Fish-like autosuggestions as you type
zsh-syntax-highlighting Syntax highlighting in the shell
zsh-completions Additional completion definitions
zsh-history-substring-search Type and arrow-up to search history
fzf-tab Replace tab completion with fzf
you-should-use Reminds you of existing aliases

Color Schemes: Dracula, Tokyo Night, Catppuccin Mocha

Quick Start

git clone https://github.com/asanchezyali/iterm2-setup.git
cd iterm2-setup
./setup.sh

The script is idempotent - it skips components that are already installed.

Modular Installation

You can install individual components instead of running the full setup:

./setup.sh --cli-tools       # Install CLI tools only
./setup.sh --fonts            # Install Nerd Font only
./setup.sh --plugins          # Install Zsh plugins only
./setup.sh --fonts --zshrc    # Combine multiple options

Or run individual scripts directly:

./scripts/cli-tools.sh        # Install CLI tools
./scripts/color-schemes.sh    # Download color schemes
./scripts/fonts.sh            # Install Nerd Font

All Options

Flag Description
--all Run the full setup (default)
--prerequisites Install Homebrew
--iterm2 Install iTerm2
--fonts Install MesloLGS Nerd Font
--oh-my-zsh Install Oh My Zsh
--powerlevel10k Install Powerlevel10k theme
--plugins Install Zsh plugins
--cli-tools Install CLI tools
--color-schemes Download color schemes
--zshrc Configure .zshrc
--help Show help message

Project Structure

iterm2-setup/
├── setup.sh                  # Main entry point
├── scripts/
│   ├── utils.sh              # Shared helper functions
│   ├── prerequisites.sh      # Homebrew check/install
│   ├── iterm2.sh             # iTerm2 installation
│   ├── fonts.sh              # Nerd Font installation
│   ├── oh-my-zsh.sh          # Oh My Zsh installation
│   ├── powerlevel10k.sh      # Powerlevel10k theme
│   ├── plugins.sh            # Zsh plugins
│   ├── cli-tools.sh          # CLI tools (fzf, eza, bat, etc.)
│   ├── color-schemes.sh      # Color scheme downloads
│   └── zshrc.sh              # .zshrc configuration
├── LICENSE
└── README.md

Post-Installation

After running the setup:

  1. Close your current terminal and open iTerm2
  2. The Powerlevel10k configuration wizard will start automatically - follow the prompts
  3. Set the font to MesloLGS NF in iTerm2: Preferences > Profiles > Text > Font
  4. Import a color scheme: Preferences > Profiles > Colors > Color Presets > Import from ~/.iterm2/colors/

Useful Commands

Command Description
p10k configure Reconfigure Powerlevel10k prompt
reload Reload .zshrc
zshconfig Open .zshrc in your editor
z <dir> Smart directory jump (zoxide)
lt Tree view with icons (eza)
lg Launch lazygit
gs git status shortcut
tldr <cmd> Simplified man page
fuck Auto-correct previous command
Ctrl+R Search shell history (atuin)

Included Aliases

The configured .zshrc includes aliases for:

  • Modern CLI tools - ls/ll/la (eza), cat (bat), du (dust), df (duf), ps (procs)
  • Git shortcuts - gs, ga, gc, gp, gl, gd, glog, lg (lazygit)
  • Navigation - .., ..., ....
  • Safety - rm -i, mv -i, cp -i
  • macOS - showfiles, hidefiles, flushdns
  • Network - ip, localip

Requirements

  • macOS (Intel or Apple Silicon)
  • Internet connection
  • Admin privileges (for Homebrew and cask installs)

License

MIT

About

Automated shell scripts to set up a modern, powerful terminal on macOS — iTerm2, Oh My Zsh, Powerlevel10k, and 20+ curated CLI tools in one command.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages