3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Macのセットアップをシェルスクリプトで自動化したのでメモ

Last updated at Posted at 2020-07-18

はじめに

夏の暑さのせいか、1年半使っていた MacbookProの腹が急に膨張してしまいました。
よくよく調べると、テーブルに載せると「ガタガタ」と揺れ、指が下に1本入り、蓋がちゃんと閉まらない。

これはヤバい。。。(爆発するのか...!?)
新Macを購入を即決断。

新しいMacを買うと、毎回つきまとうセットアップ作業
下手すると数日かかったり。
**「なるべく効率化したい」と、手順をドキュメント化をしていた所、「はて。これ自動化できるんじゃね?」**と不意に思い調査。
なんと、シェルスクリプトでドンピシャな自動セットアップしている人がたくさんいるじゃないですか!!
便利すぎる。

ということで何番煎じだかわかりませんが、(未来の自分用に)手順をメモしてみます。

やること

1つのシェルスクリプトで以下をすべて自動的に行う

  • デスクトップアプリを自動インストール
  • AppStoreに登録されたアプリを自動インストール
  • 開発環境の自動構築

手順

Homebrew

Homebrewをインストール。

Cask

Homebrewをインストールすると、自動で Cask もインストールされる。
Caskは大量のデスクトップアプリがインストール可能なパッケージマネージャー。

.bashrc

.bashrcにアプリのインストール先を定義。

.bashrc
export HOMEBREW_CASK_OPTS="--appdir=/Applications"

.bashrc はMacのbashではデフォルトでロードされないので、以下を ~/.bash_profile に書く。

※ macOS Catalinaから 標準のシェルが zsh になったそうです。そのため ~/.bash_profile の代わりに ~/.zprofile に書きます。

.bash_profile
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

シェルスクリプトを作成

適当なファイル setup.sh を作る。

デスクトップアプリを自動インストール

以下のようにコマンドを、必要なアプリ分すべて連ねていきます。

setup.sh

brew install --cask google-japanese-ime
brew install --cask google-chrome
brew install --cask iterm2
brew install --cask docker
brew install --cask alfred
brew install --cask visual-studio-code

    ... 必要なアプリすべて

$ brew cask install <アプリ名> の アプリ名に該当する部分は、$ brew search <キーワード> で検索できますが、公式サイトの検索がわかりやすいです。

※ ちなみに以前は $ brew cask search <キーワード> だったが廃止されたそうです。

$ brew install --cask <アプリ名> にコマンドが変更されたようです。

AppStoreに登録されたアプリを自動インストール

$ brew install masmas-cli をインストール。

現在使っている古い方のMacで以下を実行し、アプリリストを取得しておきます。

$ mas list

539883307 LINE (5.24.1)
406056744 Evernote (7.14)
409183694 Keynote (10.1)
497799835 Xcode (11.3.1)

    ... インストールされている全アプリの一覧がでる

これを使って、以下のようにコマンドを作ると良い感じ↓。

setup.sh

brew install mas # masのインストールも自動化
mas install 539883307 # LINE
mas install 406056744 # Evernote
mas install 409183694 # Keynote
mas install 497799835 # Xcode

  ...

開発環境の自動構築

私の場合は nvm や rbenv を使うので、これらのインストールなんかも自動化してみます。

setup.sh

# nvm 
git clone git://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm install <バージョン>

# rbenv
brew install rbenv
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
brew install rbenv ruby-build
rbenv install <バージョン>
rbenv rehash

  ... 他に必要なものがあれば追記

ざっくりこんな感じでしょうか。
環境に限らず、やりたいことがあれば何でも書いちゃうと良さそうです。

実行

作った setup.sh に実行権限を付与します。

$ chmod +x setup.sh

これで準備ができました。
シェルスクリプトを実行します。

$ ./setup.sh

もしくは setup.command にリネームして、ダブルクリックで実行でも良いかもしれません。

リストを作るのは最初は手間ですが、年1くらいでメンテしていけば長く使えそう。
(なぜ今までやっていなかったのか。。。 orz

参考

参考にさせていただきました。ありがとうございます。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?