dotfiles 管理手法の妄想
例によってdotfilesをgithub上で管理していますが、どうもしっくりこないので現在考えている妄想を備忘録的に書いておきます。
現在の不満点
dotfilesの編集が面倒
できるだけホームディレクトリにファイルを展開したくないけど、いちいち vim dotfiles/vim/rc/encoding.vim
みたいに書くのが面倒。
これは vim プラグインを書いて解決するべき問題かもしれないです。
そもそもの話として、設定ファイルを分割すると編集は面倒なので、分割をやめるかもっと厳格に分割方法を決める必要がありそうに思えます。
branch を用いた変更がお辛い
例えば最近 vim が true color 対応しましたが、1週間試してみようと vim/true-color
みたいなブランチを切って vimrc を書き換えたとします。その間、tmux のアップデートにより何らかの機能が追加され、そちらも試してみようと tmux/new-feat
ブランチを切ろうとします。
このブランチはどこから生やすべきでしょうか。あとでやっぱり true color はやめようとなった場合、tmux の新規機能ブランチはどう扱うのか……みたいな話になって面倒そうです。
vim/true-color
から生やした場合、masterへのmerge前にrevertするとか、cherry-pickするとか、歴史を改変するとかはどれも辛い手法に見えます。
master
から生やすとそもそも2つの変更が共存できません。
誰か同一リポジトリでできるいい感じの手法を知っていたら教えてください。
妄想している解決方法
後者の解決にしかならないですが、手法としては homebrew とか vim-plug 系みたいなのと似た手法を考えています。
例えばpopkirby-github/vim
のようなリポジトリを作って、それをclone、所定のインストールスクリプトの実行、みたいなことをするツールを作成することを考えています。
変更時はそれぞれのリポジトリでブランチを切ればいいという考えです。
前者は考え中ですが、vim 上で :dote
的なコマンドを作ることを考えています。