This is a project created for syncing as much of my MacOS dev machine configuration as possible
- git
- If you intend on checking out this repo using SSH, an SSH key configured and added to your github
- On MacOS, brew for package installation
- This is based off of Atlassian's bare dotfile repo implementation
- Open a shell, and bare clone this repo into the
.dotfiles
directorygit clone --bare git@github.com:verhey/dotfiles.git $HOME/.dotfiles
- Define the following alias in your shell:
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
- Checkout the content from the bare repo into your home folder:
dotfiles checkout
- If this fails, delete any dotfiles that may conflict, or back them up
- Try
dotfiles checkout
again, and you should see the files in the root of this repo end up in your home dir
- To make
dotfiles status
output useful, set local config for this repo to ignore untracked files (as in, the rest of your home dir)dotfiles config --local status.showUntrackedFiles no
- If you (or another application has modified a dotfile) and you want to update it here, the
dotfiles
alias you set up in previous steps works just likegit
does.- Your
status
command is somewhat nerfed, because you don't want to be tracking every file in your home directory, but you can still do the following:
- Your
- From the
install/macos
directory:brew bundle
to install contents ofBrewfile
zsh zshsetup
to installoh-my-zsh
, a few plugins, and get yourself up to date with what the checked in.zshrc
is expecting- If you are encountering errors in the shell after cloning this repo, make sure you've run this script
- Manually install :( the recommended fonts for the
powerlevel10k
zsh theme- If you have any suggestions on how to do this programmatically, let me know!
zsh configure_macos
to configure MacOS-specific settings- This is WIP-y, Apple seems to change what works and what doesn't with every MacOS version
- If this fails before completing, you may need to manually run the two
iterm2
related commands at the bottom of the file
- You may need to use the
iterm2
GUI to import theprofiles.json
file found ininstall/macos/iterm2