chezmoi を使って、 dotfiles を管理することにしました。
dotfiles の管理方法は人それぞれだと思いますが、私は GitHub のパブリックリポジトリでホストしており、 シンボリックリンクを張る Makefile を作成していました。
利用するツールがほぼ統一されていたので、最も利用している環境のみで dotfiles を commit し、他の環境では clone/pull のみ実施し、必要があれば環境固有のファイルを source する運用です。
if [ -f ~/.bashrc_private ]; then
. ~/.bashrc_private # GitHub でホストされていない設定ファイルであり、各マシンで内容は異なる。
fi
Makefile では、パッケージマネージャを用いたパッケージのインストールなども行っていましたが、特定ディストリビューションかつネイティブ Linux 環境に特化しているという問題が有りました。
このような雑運用では当然ながら複数環境への対応に脆く、諸事情によりネイティブ Linux から WSL に移行しなければならない環境が発生した際に大量に差分が発生し破綻しました。
気力でメンテナンスを頑張ったり、 WSL や不自由なソフトウェアへの理解を深めたりすれば継続できたかもしれませんが、今後もディストリビューション追加対応などが発生する可能性を鑑み、これを機にテンプレート機能を持つ dotfile manager に移行することにしました。
触れ初めたばかりで、最も利用している環境でしか利用していませんので、テンプレート機能はまだ利用していません。
他に、暗号化やパスワードマネージャとの連携もまだ試していませんので、それらの利用方法も記載しませんのでご了承ください。