Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



My Linux configs.

Previously I was storing my configs in ~/configs and using symlinks to link them into place. This worked though the whole symlink thing was a bit of a nuisance. It was an extra step that was required. Recently I came across a better way using a bare git repo. Configs are stored in ~/.cfg as a bare git repo and are checked out directly into the home directory. This relies on a couple of things.

First clone your configs as a bare repo:

git clone --bare <git-repo-url> $HOME/.cfg

Then define an alias:

config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'

This tells git to use ~/.cfg as the repo and ~ as the working directory. Next tell git to ignore untracked files using the above alias:

config config --local status.showUntrackedFiles no

You can then interact with the git repo using config and standard git commands such as config ls-files, config diff, config commit, etc.

See the link above for a full description of how this works.