5億年ぶりぐらいにdotfilesを更新/改良した

久しぶりにdotfilesを更新した
初めて作ったのは3年前で、確か半年ぐらいはちゃんとその設定で使っていたんですが環境の変化などもあり全く触っていませんでした。触らなくなった理由としては、
- インストール機構が無かった
- 更新機能が無かった
- bashをそんなに使っていなかった(その後zshに変わった)
bash/zshをそんなに使っていなかったのが一番大きな理由かなと思います。ターミナルで何かするより、エディタ(当時はAtomを使っていたようです)で直接色々触ってたのが多かったです。色々変わっていくうちにターミナルを触ることが多くなって来ました。エディタもVSCodeに乗り換え、firebaseやnowなど各種コマンドラインツールを使ってデプロイなどをすることが増えました。またzshに切り替えてから少し設定ファイルを触り使いやすくしたので自宅と会社のパソコンで同じに設定にしたいなーと思ったのが更新した理由です。
更新したdotfilesはこちら
更新するにあたって
最低限インストール自動化と更新がちゃんと出来るようにはしようと思って、それ以外は何も手を加えない事にしました。仕事でシェルスクリプトを書く事もあったのでインストーラーが自分の手で作れて少し感動しました。仕組みはめっちゃ簡単で、dotfilesのレポジトリのインストーラーをダウンロードしてレポジトリを引っ張ってきて中のファイルをシンボリックリンクをユーザーのルートディレクトリに貼っているだけです。自動でターミナルの再読み込みなどもないですw
シンボリックリンクの仕方は以下のような感じ
dotfiles_install() {
printf "${CYAN}Install dotfiles...${NC}\n"
for f in $DOTPATH/.??*;
do
[[ `basename $f` == ".git" ]] && continue
[[ `basename $f` == ".DS_Store" ]] && continue
[[ `basename $f` == ".vimrc" ]] && continue
printf "${CYAN}Symbolic link ${GREEN}$f${NC} to ${GREEN}$HOME${NC}.${NC}\n"
command ln -snf $f $HOME
done
}
ダウンロードしてきたファイルを全部見てるんですが、特定ファイルにマッチした場合はシンボリックリンクはしないようにしています。.vimrc
を除外しているのはパッケージマネージャーの設定で何故かフルパスで記述されている事に気付き一旦無しにしています。vimは何度も再入門を繰り返しているんですが全く慣れないです。。vimのキー配列に慣れるためにVSCodeのキーバインドを少し変えようかなと考え中です。
プラグインレスで手を加えていく
こだわり出すと止まらなくなってしまい逆に使いこなせなくなるので、プラグインは使用せずデフォルトの環境で出来る範囲にしました。それとプラグイン等は大体brew経由でダウンロードする事になるのですが、brewの自動化を設定しないと辛くなるのでこのようなプラグインレスでの改良にしました。dotfiles単体で機能するので、どのMacのマシンでもインストールさえすれば即使えるのが気軽に導入出来て嬉しいポイントです。個人的には満足したカスタマイズが出来たなーと感じています✨
今後の予定
何かいいカスタマイズがあれば気軽に入れて試せるので育てやすいんですが、後々brewの自動化も入れていきたいなーと計画しているのでこれが出来たらdotfilesもbrew経由でのzshのプラグインなどを入れていけるのでさらに進化していきそうです。とりあえず入れたいのはzshのfuzzy検索機能辺りは欲しいですねー!