These configuration files aka dotfiles, and utilities are from my primary setup I use day-to-day, the core of which includes: macOS, iTerm2, and the zsh shell. Symlinks for dotfiles are managed with the Stow.
- Flexible, terminal-based dev environment with iTerm2+Tmux
- Shell support for Zsh
- Fast, idempotent setup with GNU Stow
- Support for both Apple Silicon and Intel Macs
- Vim with plugins and theme support
To set up, assuming git
is installed, run:
git clone https://github.com/guptarohit/dotfiles.git ~/.dotfiles
cd $HOME/.dotfiles
bash install.sh
install.sh
is an idempotent script that will:
- Install Homebrew and packages from the
Brewfile
- Set up Oh My Zsh with plugins
- Configure vim with plugins
- Apply all dotfiles using GNU Stow
- Set up iTerm2 preferences
Note
Please backup configurations before running script.
For macOS-specific system preferences and customizations, a separate script is present.
This script customizes various macOS settings for an improved experience. Review the script before running to understand the changes it will make.
bash ~/.dotfiles/macos/defaults.sh
The vim configuration uses vim-plug as a plugin manager. Plugins will be installed automatically during the setup process.
To install or update plugins manually, open vim and run :PlugInstall
.
To install plugins, including the Catppuccin theme, run the command prefix + I.
To create symlinks, use stow. The following command will create symlinks for gnupg configs.
stow gnupg
Please note, if files are already present in the directory we are trying to create a stow in, then use the --adopt
flag.
e.g.
stow gnupg --adopt
System specific shell configurations can be added to ~/.zshrc.local
. It will be sourced when the shell initializes.
System specific git configurations like user's name, email, signing key, etc. can be added to ~/.gitconfig.local
.
System specific vim configurations can be added to ~/.vimrc.local
. It will be sourced at the end of the main .vimrc file.
Inspired by various resources shared by the vibrant open-source community, including online resources and dotfiles repositories: