dotfilesを一元管理するときにちょっと苦が減る方法

.vimrc、.zshrc、.gitconfigといったいわゆるドットファイル複数のマシンで使いまわすためにgithubに置くってところまでは誰もがやっているところだと思う。 ただ、それだけだといちいちローカルにコピーするとか、編集後にdotfileにコピーして…なんてめんどくさくてやらないことが多い 結果として会社のPCで登録したaliasを個人macで使おうとしたら登録してなかったり、家で試したvimプラグインを反映し忘れてててげんなりする。 というわけで最近以下のようにローカルのファイルは外部ファイル読み込みにしてしまった

# .vimrc
source ~/dotfiles/.vimrc
# .zshrc
source ~/dotfiles/.zshrc
# .gitconfig
[include]
  path = ~/dotfiles/.gitconfig

更に、aliasを登録してこれらのファイルを編集するときは常にdotfiles以下の方を編集するようにする

# .zshrc
alias vrc='vim ~/dotfiles/.vimrc'
alias zrc='vim ~/dotfiles/.zshrc'
alias gcon='vim ~/dotfiles/.gitconfig'

これで常にローカルにあるdotfilesを編集すればよく、コピーしてどうちゃらみたいなことから開放される シンボリックリンクにしてもいいけど、外部参照にしておくことでローカル固有の設定を追記できるのでこういうふうにしてる これをやっても結局は編集後にコミットしてプッシュする、とか別マシンで変更がしたらpullするという手間は残ってるけど、その辺自動にするとそれはそれでイライラする要因を生む気がするのでそこまではやってない