My dotfiles
This repo is for storing my public config files, canonically called "dotfiles". Having dotfiles in a repo makes setup on a new machine just a simple git clone
away. Some of the techniques and code are based on concepts from this article, this article on bare repos, and the zillions of other dotfile repos on GitHub.
- git
alias dotty='GIT_WORK_TREE=~ GIT_DIR=~/.dotfiles'
alias dotfiles='git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
git clone --bare git@github.com:mattmc3/dotfiles $HOME/.dotfiles
dotfiles checkout
if [[ $? == 0 ]]; then
echo "Checked out dotfiles.";
else
echo "Backing up pre-existing dot files.";
dotfiles checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} .dotfiles.bak/{}
fi
IDE=${VISUAL:-${EDITOR:-vim}}
dotty $IDE ~
Certain legacy apps don't properly use .config, so anything that doesn't has a simple wrapper in $HOME
that then sources the real files from ~/.config
.