Skip to content
connorwyattwk edited this page Oct 28, 2025 · 10 revisions

Setting up a new machine

Homebrew and dependencies

Install Homebrew: https://brew.sh

Install dependencies:

brew install git fd sd bat just fzf zoxide tmux httpie watchexec gh neovim jq ripgrep lazygit starship xo/xo/usql
brew install --cask nikitabobko/tap/aerospace
brew install --cask ghostty

ZSH

Install Oh My ZSH: https://ohmyz.sh/#install

Install plugins:

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

Cloning the dotfiles

Clone this repo as a bare repo:

git clone --bare git@github.com:connorwyatt/dotfiles.git $HOME/.dotfiles

Checkout the repo:

git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME checkout

Ignore untracked files:

git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME config --local status.showUntrackedFiles no

Replace the contents of ~/.zshrc with the following:

source "$HOME/.config/zsh/init.sh"

Git Global Config

git config --global core.editor nvim
git config --global push.autoSetupRemote true
git config --global init.defaultBranch main
git config --global commit.verbose true
git config --global diff.tool nvimdiff
git config --global difftool.prompt false
git config --global difftool.nvimdiff.cmd 'nvim -d $BASE $LOCAL $REMOTE $MERGED -c '\''$wincmd w'\'' -c '\''wincmd J'\'
git config --global merge.tool nvimdiff
git config --global mergetool.prompt false
git config --global mergetool.nvimdiff.cmd 'nvim -d $BASE $LOCAL $REMOTE $MERGED -c '\''$wincmd w'\'' -c '\''wincmd J'\'
git config --global alias.clone-for-worktrees '!sh $HOME/.bin/git-clone-bare-for-worktrees'

Clone this wiki locally