Managed with GNU Stow to keep everything easy to set up on new machines.
- Keep configs in
~/.dotfiles,./bootstrap.shsymlinks them back into$HOME
Just run ./bootstrap.sh — it will install GNU Stow and Oh My Zsh if they’re missing.
On macOS, you need Homebrew installed first.
On Linux, make sure you have git and a package manager that can install stow.
Usage: ./bootstrap.sh [options]
Options:
--dry-run Show what would happen without making changes
--no-ohmyzsh Skip installing Oh My Zsh
--chsh Switch your default shell to zsh (using chsh)
--packages ... Space-separated list of subfolders to stow (defaults: zsh nvim git)
Examples:
./bootstrap.sh
# Run normally, stowing default packages and installing Oh My Zsh
./bootstrap.sh --dry-run
# Show which files would be symlinked without actually making changes
./bootstrap.sh --no-ohmyzsh
# Run but skip installing Oh My Zsh
./bootstrap.sh --packages zsh git
# Only stow zsh and git configs (skip nvim)
My init.vim has a bunch of plugins you need LazyVim for.
lazy.nvim will bootstrap when nvim is opened for the first time.