This repository contains the dotfiles for setting up my macOS development environment from scratch. It includes settings for my Fonts, Git, Homebrew, Vim, VSCode, ZSH, and iTerm2, making system setup seamless and reproducible.
- macOS operating system
- Terminal access
- Internet connection
- Zsh & Oh My Zsh
- Custom
.zshrcand.zsh_aliaseswith aliases and environment settings zsh-autosuggestionsandzsh-syntax-highlightingplugins- Kubernetes context in prompt
- Git-aware prompt
- Custom
- Git Configuration
.gitconfigfor global settings- Delta for enhanced diffs
- Useful Git aliases
- VSCode Configuration
settings.jsonandkeybindings.json- Automatic installation of extensions
- Material theme and icons
- Vim Configuration
- Syntax highlighting and line numbers
- Homebrew Package Management
Brewfileto install CLI tools and apps
- iTerm2 Configuration
- Custom preferences stored in
com.googlecode.iterm2.plist - Auto-symlinked via
stow - Automatically loaded by iTerm2
- Custom preferences stored in
- Fonts Management
- Custom fonts stored in
dotfiles/fonts/ - Automatically copied to
~/Library/Fonts/during setup
- Custom fonts stored in
- Automated Setup Scripts
bootstrap.shfor installing system dependencies (Xcode CLI, Homebrew, Git, Stow, and Oh My Zsh)install.shfor symlinking dotfiles and applying configurations- Idempotent installation (safe to run multiple times)
Use curl to fetch the script and run it:
source <(curl -fsSL https://raw.githubusercontent.com/Nilesh2000/dotfiles/main/bootstrap.sh)This script will:
- Install Xcode Command Line Tools
- Install Homebrew and packages
- Install Git
- Install Stow for dotfile management
- Install Oh My Zsh
- Clone the dotfiles repository
Once the bootstrap script completes, run:
cd ~/dotfiles
./install.shThis script will:
- Symlink dotfiles using Stow
- Restore VSCode settings and extensions
- Install Oh My Zsh plugins
- Copy fonts to
~/Library/Fonts/ - Apply iTerm2 preferences
- Restart the Zsh session
To update the list of installed Homebrew packages:
brew bundle dump --file=~/dotfiles/brew/Brewfile --force --describeTo save your installed extensions:
code --list-extensions > ~/dotfiles/vscode/extensions.txtTo update or install new fonts:
- Add new font files (
.ttf,.otf) to~/dotfiles/fonts/ - Run:
cp -r ~/dotfiles/fonts/* ~/Library/Fonts/
To sync iTerm2 settings across machines:
- Ensure iTerm2 loads preferences from the dotfiles directory:
- iTerm2 → Preferences → General
- Check ✅ “Load preferences from a custom folder”
- Set the path to
~/dotfiles/iterm2/
- Symlink iTerm2 preferences:
stow --target=$HOME/Library/Preferences iterm2
Feel free to fork this repository and customize it for your needs. Pull requests for improvements are welcome!