dotfilesをgithubで管理する!
dotfilesとは
.vimrc とか .tmux.conf とか .screenrc とか .bashrc とか .zshrc とか、だいたいそういう設定ファイルの類です。それらをまとめてgithubで管理すると、どの環境でも git clone するだけで同期がとれてすごく便利です。
まあ
ぶっちゃけそれだけならいろんな人がやっています。いろんな人のを参考にすればいい。githubへの登録の仕方とかは自分で調べてください。簡単です。
yuroyoroさんはすごかった
しかし github で dotfils を管理するときにシンボリックリンクを自動的に貼るスクリプトを使うという発想はなかった。これはすごい。
iTerm2 + zsh + tmux + vim で快適な256色ターミナル環境を構築する - ( ꒪⌓꒪) ゆるよろ日記
このエントリはいろんな意味で最強すぎる。さすがにそこまではできない……けれど、
- 自動的にシンボリックリンクを貼ってしまう
というのがとにかくすごく楽だ。
yuzuemonさんは気がきいていた
シンボリックリンクを貼るシェルスクリプトはいいけれど、それをもうちょっと確証してる
ボク式dotfiles - ゆず日記
なるほど、既にファイルが存在するかで条件分岐するのか
おれもやってみた
ちょっと改良したよ
#!/bin/bash DOT_FILES=( .vimrc .tmux.conf .bashrc) for file in ${DOT_FILES[@]} do if [ -a $HOME/$file ]; then ln -s $HOME/dotfiles/$file $HOME/$file.dot echo "ファイルが存在しますから.dotファイルつくるよ: $file" else ln -s $HOME/dotfiles/$file $HOME/$file echo "シンボリックリンクを貼りました: $file" fi done
既にファイルが存在する場合は .file.dot というのを作成します。これだけだと邪魔っぽいけど、Ubuntuみたいに既にデフォルトで .bashrc などが存在しているときに上書きして消すわけにもいかないのです。だから .dot ファイルを生成します。それで
cat .bashrc.dot >> .bashrc
とかやってやることで追記できるわけですね!
ちなみに
おれの dotfiles は github にあります
.vimrcとか全般的にコメントを多めにつけてみたつもりなので、良かったら参考にしてください