Small macOS setup focused on shell, Git, iTerm2, VS Code, and lightweight CLI tools.
Clone repo into a hidden directory:
git clone https://github.com/clemenspeters/dotfiles.git ~/.dotfilesInstall Homebrew if needed:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
eval "$(/opt/homebrew/bin/brew shellenv)"
brew doctorInstall the curated software list:
brew bundle --file ~/.dotfiles/BrewfileIf Docker Desktop fails while linking binaries into /usr/local, create the
expected directories and rerun the bundle:
sudo mkdir -p /usr/local/bin /usr/local/cli-plugins
sudo chown -R "$USER":admin /usr/local/bin /usr/local/cli-plugins
brew bundle --file ~/.dotfiles/BrewfileIf docker compose is not found after installing Docker Desktop:
mkdir -p ~/.docker/cli-plugins
ln -sf /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose ~/.docker/cli-plugins/docker-composeInstall Oh My Zsh into this dotfiles directory:
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.dotfiles/.oh-my-zshCreate the nvm directory expected by Homebrew's nvm package:
mkdir -p ~/.nvmCreate symlinks in the Home directory to the real files in the repo:
ln -s ~/.dotfiles/.zshrc ~/.zshrc
ln -s ~/.dotfiles/.zshenv ~/.zshenv
ln -s ~/.dotfiles/.gitconfig ~/.gitconfigYou can use .zshenv for values you don't want to commit since it's changes are ignored (using git update-index --skip-worktree .zshenv).
If you want to commit changes to that file use git update-index --no-skip-worktree .zshenv and to see all skipped files use git ls-files -v . | grep ^S.
Review the files in .vscode/ before linking them. If they still match your current preferences:
ln -f -s ~/.dotfiles/.vscode/settings.json ~/Library/Application\ Support/Code/User/settings.json
ln -f -s ~/.dotfiles/.vscode/keybindings.json ~/Library/Application\ Support/Code/User/keybindings.jsonTo recreate the Brewfile from the current machine:
brew bundle dump --describeTo update your Brewfile run:
brew bundle dump --describe --forceShow all file extensions in Finder:
defaults write NSGlobalDomain AppleShowAllExtensions -bool trueShow hidden files and folders in Finder:
defaults write com.apple.Finder AppleShowAllFiles true && \
killall FinderGenerate an SSH keypair if you do not already have one:
ssh-keygen -t ed25519 -C "13015002+clemenspeters@users.noreply.github.com"Log in to GitHub CLI:
gh auth loginOnly run this after installing google-cloud-sdk:
gcloud auth loginAuthenticate Docker for Google Container Registry. See: https://cloud.google.com/container-registry/docs/advanced-authentication#gcloud-helper
gcloud auth configure-docker