開発環境構築作業の理想

開発のメインで使っているMacBook Airを再インストールした。黒い画面での開発環境をもう一度作り直したかった。

この端末で最初に開発環境を設定した時はMac Portsでいろいろインストールしてたのだけど、後になってImageMagicを入れる時にどうしてもうまく行かず、Homebrewで入れるなどした。その時にMac Portsの設定ファイルは別のディレクトリに移動しろとかいうアラートが出て、使われない黒い画面用のファイルがユーザールートにぽつんとあるのがなんか気持ち悪くなった。

あとanyenvを使っていたのを途中でやめたりとかもしていて、~/や/userの中がもぞもぞしているのがどうも落ち着かなかった。.bashrcもいろいろ愉快な感じで収拾がつかない。なので思い切って再インストールすることにした。男は黙って再インストールなのだ。

Macの初期化、OSのインストールと設定、アプリケーションのインストールと設定、コマンドラインツールのインストールと設定......。このステップを終わらせるだけでダウンロード時間も含めて丸一日かかる。この間、端末に張り付いていないといけないのも辛かった。こういったセットアップはもう自動化されてもいいのではないだろうか。

OSの設定はフラグを切り替えるシェルスクリプトを実行するだけとかでやりたい。zshやnpmのセットアップも、thenをうまく使えば依存パッケージに順応した流れで実行できるような気がする。GUIアプリケーションの方は、インストールするアプリケーションを登録しておき、アクティベーション時のIDとPASSやインストールオプションなどもなんらかの形であらかじめ指定しておくことでどうにかできるようになりたい。

OSの設定、GUIアプリの設定、コマンドラインツールの設定の3つのシェルスクリプトを実行すればあとはコーヒーすすって水樹奈々のライブBlu-rayでも泣きながら観ていれば良い、そんな開発環境構築作業が僕の理想だ。

しかし、OSのシステム環境設定をコマンドラインからカジュアルに書き換えられていいのかという問題意識がすぐにわいてくる。同じようにセットアップの自動化を考える人は今までも多くいると思われるが、そういった一括設定ツールを作成している人は見かけない(僕の観測範囲)。せいぜい、コマンドラインツールのセットアップフローをシェルスクリプトにするくらいが関の山といった感じだ。

Mac OSにはdefaultsコマンドというものがあるが、変更できるのはシステム環境設定.appや各アプリケーションの環境設定では 手の届かないところばかりで、普通にGUIでシステム環境設定から設定を変更する操作をコマンドラインで代用するまではできない。

他のサードパーティー製アプリケーションにしたって、インストーラーをシェルが実行することはできても、インストールウィザードのGUIなボタンなどの操作はコマンドラインから操作できない。

結局、人がマシンに張り付いて一つ一つポチポチやっていくしかないのだろう。統合再インストールツールのようなものがいつかは出現すると期待している。

ところで、ディスクユーティリティーの消去がSSDだと驚異的に速かった。HDD時代の不安と期待の入り混じった消去中のあの時間は、フラッシュストレージ時代にはどこか遠くへ行ってしまったんだ。技術はいつも、人間から何かを奪って成長する。