These dotfiles use the bare repo method described in this Atlassian blog
post. This has the advantage of not requiring symlinks for all the
files, everything is right where they belong. Git commands are accessed through
an function (
dots in my case) that specifies a different git dir.
First, make a bare clone of this repo:
$ git clone --bare firstname.lastname@example.org:philtr/dotfiles.git $HOME/.dotfiles.git
Then, make a temporary alias to be able to checkout these dotfiles:
$ alias dots='git --git-dir=$HOME/.dotfiles.git --work-tree=$HOME' $ dots checkout
dots checkout fails due to existing files, backup and remove the
conflicting files and run the
dots checkout again.
Finally, set the local git config to hide untracked files:
$ dots config --local status.showUntrackedFiles no
- Set iTerm configuration to load config
- Open iTerm preferences
- Check "Load preferences from a user-defined folder or URL"
- Put in
$HOMEwith the full path of the home folder, e.g.
Keeping things committed is easy. Simply use the
dots command from the home
directory to add, commit, and pull changes.