-
Clone the repository:
cd ~ git clone <your-repo-url> .dotfiles cd .dotfiles
-
Install
stow(for symlinking dotfiles):brew install stow
Run the unified setup script (auto-detects macOS and runs the appropriate installer):
# Preview what will be installed (dry run)
DRY_RUN=true ./setup.sh
# Check current package status
./setup.sh check
# Validate package configuration
./setup.sh validate
# List all packages
./setup.sh list
# Run the installation
./setup.shsetup.sh script automatically detects macOS and runs scripts/setup-osx.sh. You can also run the macOS script directly if needed.
The script automatically installs Homebrew (if needed) and all required packages.
Use the OS-aware stow script to create symlinks (automatically stows only relevant packages for macOS):
# Stow all dotfiles (auto-detects OS and only stows relevant packages)
./stow-dotfiles.sh
# Stow without adopting existing files (use if starting fresh)
./stow-dotfiles.sh ""The script automatically stows common and macOS-specific packages. Note: The nix/ folder is not stowed automatically.
Verify symlinks:
ls -la ~ | grep "\->"Add to your ~/.zshrc:
# NVM
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# Pyenv
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
# Mise
eval "$(mise activate zsh)"
# Rust
source "$HOME/.cargo/env"Reload your shell:
source ~/.zshrcNeovim plugins (if using LazyVim):
nvim --headless -c "Lazy sync" -c "qa"OrbStack (Docker alternative):
# Set the default docker context to orbstack
docker context use orbstackThe --adopt flag moves existing files into the package directory and replaces them with symlinks. Always use dry-run first:
stow --adopt -n <package>- Check distribution detection:
./setup.sh check - List packages:
./setup.sh list - Validate package config:
./setup.sh validate - Dry run setup:
DRY_RUN=true ./setup.sh - Verify symlinks:
ls -la ~ | grep "\->"
- Homebrew will be installed automatically if missing
- Some packages may require manual configuration after installation
- Setup is based on mac.install.guide
## When each is loaded:
.zshenv
→ .zprofile
→ .zshrc
→ .zloginmise activate zshmacOS-specific Docker alternative. See setup-osx.md for setup details.
Set the default docker context to orbstack:
docker context use orbstackPython package manager to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, etc.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a virtual environment
uv venv
# Install packages
uv pip install <package>
# Run commands in the virtual environment
uv run <command>