dotfiles の管理に stow を使う
~/dotfiles
に dotfiles を置いて git/mercurial で管理しているとして、 個々のファイルへの symlink を ~/
に置く必要があるのだけど、 それを stow
を使ってやろう、というお話。
ファイル・ディレクトリ構成は以下のような感じ:
dotfiles:
./ ../ .git/ vim/ zsh/
dotfiles/vim:
./ ../ .vim/ .vimrc
dotfiles/zsh:
./ ../ .zprofile .zshrc
symlink の作成:
$ stow -d ~/dotfiles -t ~/ -v vim zsh
LINK: .vim => dotfiles/vim/.vim
LINK: .vimrc => dotfiles/vim/.vimrc
LINK: .zprofile => dotfiles/zsh/.zprofile
LINK: .zshrc => dotfiles/zsh/.zshrc
symlink の削除:
$ stow -d ~/dotfiles -t ~/ -v -D vim
UNLINK: .vim
UNLINK: .vimrc
dotfiles の増減があった時:
$ stow -d ~/dotfiles -t ~/ -v -R zsh
UNLINK: .zshrc
UNLINK: .zprofile
LINK: .zshrc => dotfiles/zsh/.zshrc (reverts previous action)
LINK: .zshenv => dotfiles/zsh/.zshenv