はじめに
どうも、源武です。
macOS Catalina が登場して、システムの構成が大きく変化しましたね。
私は Catalina をインストールする上で、一旦データを初期化してからインストールしようと考えていました。
しかし、私の開発環境はソフトが多く、手動でセットアップするのは正直面倒です。
なので、環境構築を自動化するスクリプトをサクッと書いてきました。今回はそれを紹介します。
dotfiles
dotfilesをご存知でしょうか。.bashrc などの、先頭に . が付く設定ファイルのことです。
といっても今回のスクリプトに . が付くファイルはほとんど無いです笑
便宜上、今回は dotfilesということで話を進めていきます。
セットアップの流れ
至ってシンプルです。ソフトウェアをインストールして、設定ファイルを展開するだけ、という単純な内容となっています。
ここからは、詳しい流れを紹介していきます。
1. 前準備( Homebrew, Python のインストール)
この dotfiles のほとんどは、Python で書かれています。配列の扱いが楽だから、という単純な理由です笑
なぜ配列を使うのか、その答えは後ほど。
手順としては
- インストールの続行を確認する
- Homebrew をインストールする
- pyenv をインストールする
- Python 3 をインストールする
- 大部分のスクリプト (Pythonで書いたもの) に処理を投げる
Python のバージョン管理のことを考慮して、敢えて pyenv を経由して Python 3 をインストールしました。
2. セットアップの大部分( 自動セットアップなど )
今回、グループごとに複数のソフトウェアを順番にインストールするために、Python の配列を用いました。
definternet():print("\nPhase 1. Install internet applications")installCaskApps(["google-chrome","firefox","discord","slack"])definstallCaskApps(apps):forappNameinapps:print("Installing",appName)subprocess.run("brew cask install "+appName,shell=True)
installCaskApps 関数の第1引数に、インストールするアプリケーションのパッケージ名を配列に格納し、それを順次 for 文で展開するという流れです。
あとは元のシェルスクリプトに処理を投げて
cp-r"./Code/""/Users/$USER/Library/Application Support/"
これで設定ファイルを展開するだけです。
おしまい。
面倒なことは自動化してしまおう
自動化はプログラミングの醍醐味だと思います。こういう技術を学んで、面倒なことを楽にする努力をするのも1つの手だと思いました笑
dotfiles に書いていないアプリケーションの都合上、まだ macOS Catalina を導入できませんが、導入できる日が来ることを待っています。
ではでは。源武でした。