dotfiles管理方法まとめ
この記事は前職のブログに書いた内容を再構成してます。 前職のブログは これ 。
ここ数年の僕のdotfiles管理方法をまとめました。
先に結論
homeshick をつかってGitHubに登録したdotfilesを配置、管理してます。
homeshickとは
homeshickとは https://github.com/andsens/homeshick で公開されているdotfilesを同期するためのツールです。 homesick というRubyGemがあるのですが その機能をまねて作られたそうです。 bashで動くのでインストールの手間と環境依存が少ないので僕はhomeshickを愛用しています。
後述のdotfiles用のレポジトリの作成、ファイルの追加、追加したファイルのsymlinkを作成するなど、便利なコマンドがそろっているのがhomeshickの便利なところです。
dotfilesをGitHubで管理する
僕のdotfilesは https://github.com/jiska/dotfiles_castle で公開しています。 dotfilesをgitで管理することで設定変更時の差異を確認したりちょっと書きかけだけど保存しておきたいなど気軽に作業できます。 またGitHubで公開することで他の環境からも参照しやすくしています。 たとえば家で設定した内容を会社で使ったりなど、環境構築が楽できます。
特別な設定を行っているdotfiles
いくつかのファイルには特別な設定を行っているのでかいつまんで記載します。
~/.ssh/config
~/.ssh/config
は公開はしたくないけどバージョン管理したいファイルのかなり上位に上がると思います。
こういったものは GitHubのプライベートレポジトリに保存しています。
手順は homeshick link
するだけなので簡単です、環境によってブランチを変えるだけで設定を変えることもできるので便利です。
~/.gitconfig
~/.gitconfig
では include や includeIf で特定ファイルを特定条件で読み込むことができるので以下のように ~/.gitconfig.local
を読み込むようにしています。
僕は会社とか自宅とか、git commitする環境でユーザー名やメールアドレス、GPGKEYを変更したいので以下のように設定しています。
$ cat ~/.gitconfig.local [user] name = yusuke mori email = XXXXXXXXXXXXXXXXX signingkey = XXXXXXXXXXXXXXXX # ...他にもつらつら記述してますが割愛
オワリ
皆さんもお試しください。