madcow, 11 months ago I really like the simplicity of this workflow by StreakyCobra on HN (explained as a blog post here): I use: <pre style="background-color:#ffffff;"> <span style="color:#323232;">git init --bare $HOME/.myconf </span><span style="color:#323232;">alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME' </span><span style="color:#323232;">config config status.showUntrackedFiles no </span> where my ~/.myconf directory is a git bare repository. Then any file within the home folder can be versioned with normal commands like: <pre style="background-color:#ffffff;"> <span style="color:#323232;">config status </span><span style="color:#323232;">config add .vimrc </span><span style="color:#323232;">config commit -m "Add vimrc" </span><span style="color:#323232;">config add .config/redshift.conf </span><span style="color:#323232;">config commit -m "Add redshift config" </span><span style="color:#323232;">config push </span><span style="color:#323232;">And so one… </span> No extra tooling, no symlinks, files are tracked on a version control system, you can use different branches for different computers, you can replicate you configuration easily on new installation.
I really like the simplicity of this workflow by StreakyCobra on HN (explained as a blog post here):
I use:
<pre style="background-color:#ffffff;"> <span style="color:#323232;">git init --bare $HOME/.myconf </span><span style="color:#323232;">alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME' </span><span style="color:#323232;">config config status.showUntrackedFiles no </span>
where my ~/.myconf directory is a git bare repository. Then any file within the home folder can be versioned with normal commands like:
<pre style="background-color:#ffffff;"> <span style="color:#323232;">config status </span><span style="color:#323232;">config add .vimrc </span><span style="color:#323232;">config commit -m "Add vimrc" </span><span style="color:#323232;">config add .config/redshift.conf </span><span style="color:#323232;">config commit -m "Add redshift config" </span><span style="color:#323232;">config push </span><span style="color:#323232;">And so one… </span>
No extra tooling, no symlinks, files are tracked on a version control system, you can use different branches for different computers, you can replicate you configuration easily on new installation.