How I store my dotfiles.

Published on 13-05-2023

I use a bare repository to sync my dotfiles and set it up as follows:

git init --bare $HOME/.cfg
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no

# The add and commit below are just an example of adding a file to the repo
config add .config/nvim/init.lua
config commit -m "Added init.lua"

git remote add origin REMOTE_URL
git push origin master

To install them from mine or someone else’s git repo do the following:

echo ".cfg" >> .gitignore
git clone --bare REMOTE-GIT-REPO-URL $HOME/.cfg
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
config checkout