dotfilesのセットアップスクリプトを改良した
少し前まではシンボリックリンクの作成しかしてくれないセットアップする気のないsetup.shでした。
しかしそれでは、「OSのクリーンインストール」、「PCの買い替え」などで環境の再構築をしなければならない時、非常に時間が掛かってしまいますし、「前の環境と全然違う。。。」といった状況に陥ってしまいます。
なので、自動化出来そうな所は自動化してみよう!! ということで、セットアップスクリプトの改良に没頭しました。
デモ
リポジトリ
実行方法
よく見かけるワンコマンド方式です。
bash -c "$(curl -LSs https://raw.github.com/n2kia4/dotfiles/master/setup.sh)"
少し前までは、お決まりのスリーコマンド(clone, cd, 実行)方式だったのですが、少しでも楽に環境の再構築がしたい私は、ワンコマンドでセットアップを行なっています(やっていることは同じです)。
セットアッププロセス
セットアッププロセスはこんな感じです。
OSのチェック
dotfilesのダウンロード:
Gitが使える ->
git clone
Gitが使えない ->
curl
シンボリックリンクの作成
Homebrewのインストール
-> インストール済みならSKIP
Homebrewのアップデート
Homebrewの問題をチェック
パッケージのインストール
-> インストール済みならSKIP
ログインシェルの変更
-> 既にログインシェルが$(which zsh)ならSKIP
シェルのリロード
コード構成
プロセス毎に関数を作り、main関数でまとめています。
#!/bin/bash check_os() { os_name="$(uname)" if [ "$os_name" != "Darwin" ]; then print_error "Sorry, this script is intended only for macOS" exit 1 fi } download_dotfiles() { #... } #... main() { check_os download_dotfiles symbolic_links install_homebrew install_packages install_vim_plugins update_vim_plugins change_login_shell reload_shell } main
終わりに
だいぶ環境の再構築が楽になりました。今後も改良を続けていこうと思います。