開発環境構築作業の理想

開発のメインで使っている 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 時代の不安と期待の入り混じった消去中のあの時間は、フラッシュストレージ時代にはどこか遠くへ行ってしまったんだ。技術はいつも、人間から何かを奪って成長する。