This repository contains my zsh configuration and setup scripts to quickly restore my development environment on a new machine.
- macOS (this setup is designed for macOS)
- Git installed (comes pre-installed on macOS)
- SSH key configured for GitHub access
-
Clone this repository:
git clone git@github.com:JamesChung/zsh.git ~/.zsh -
Run the setup script:
cd ~/.zsh ./setup.sh
-
Restart your terminal:
exec zsh
That's it! The setup script will automatically:
- Install Homebrew (if not already installed)
- Install all packages from the Brewfile (casks and formulae)
- Clone your configuration repositories:
- Ghostty config →
~/.config/ghostty - Neovim config →
~/.config/nvim - Zsh config →
~/.zsh
- Ghostty config →
- Set zsh as your default shell
- Development: VS Code, IntelliJ IDEA CE, Lapce, Claude Code
- Browsers: Brave
- Communication: Discord, Slack
- Utilities: Ghostty, UTM, Obsidian, Postman, Insomnia
- And more (see Brewfile for complete list)
- Shell: zsh, bash, tmux, starship
- Version Control: git, gh, lazygit, jj
- Programming Languages: go, rust-analyzer, dart, deno, bun
- Development Tools: neovim, docker-credential-helper-ecr, kind, helm
- Utilities: fzf, ripgrep, bat, eza, fd, zoxide
- And many more (see Brewfile for complete list)
After running the setup script, you may need to:
-
Configure Git:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
-
Set up SSH keys for GitHub (if not already done):
ssh-keygen -t ed25519 -C "your.email@example.com" eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 # Add the public key to GitHub cat ~/.ssh/id_ed25519.pub
-
Configure any application-specific settings as needed
~/.zsh/
├── README.md # This file
├── Brewfile # Homebrew packages list
└── setup.sh # Main setup script
To update the Brewfile with newly installed packages:
cd ~/.zsh
brew bundle dump --forceThis setup clones the following configuration repositories:
- ghostty-config - Ghostty terminal configuration
- nvim-config - Neovim configuration
- zsh - Zsh configuration (this repo)
- Ensure you have an active internet connection
- Check that your SSH key is properly configured for GitHub
- Run
brew doctorto diagnose Homebrew issues
- Run
brew bundle install --file=~/.zsh/Brewfileto retry installation - Check the terminal output for any error messages
- Manually set zsh as default:
chsh -s $(which zsh) - Restart your terminal application
Personal configuration files - use at your own discretion.