70
52

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 1 year has passed since last update.

M1 MacをできるかぎりHomebrewを使って初期設定してみる

Last updated at Posted at 2022-02-13

M1 Macが手元に届いたのでセットアップをしたので、今更ながら初期設定に関する記事を書いてみます。

これまでおそらく10回近くMacのインストールを行なっていますが、今回はHomebrewでインストールできるものはなるべくHomebrewを使う、というポリシーを持ってインストールしました。

なぜHomebrew縛りにしたのかについては話が長くなるので、記事の後ろに置きました。

Homebrewをインストール

「ターミナル」を開き、以下のインストールコマンドを実行。
(コマンドは公式ページより2022/02/12現在のもの。変更の可能性があるので最新の情報は公式ページを参照)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストール後に、パス設定を追加します。

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/$(whoami)/.zprofile
# すぐにコマンドが使えるように呼び出し
. /Users/$(whoami)/.zprofile

Homebrew Cask

GUIプログラムをインストールするのに使われる Homebrew Cask ですが、最近は brew cask install コマンドが廃止され、 brew install --cask コマンドとなりました。
なお、 --cask は省略することができるので、基本的にGUIアプリケーションかどうかを意識せずにインストールすることができます。以下では基本的にオプションなしで記述しています。

必須アプリ

Google Chrome

brew install google-chrome

Google Meetなどのスクリーン共有機能を使う場合、あらかじめ設定をしておく必要があります。
Macの設定の「Security & Privacy」中の「Screen Recording」から、「Google Chrome」をチェック。いざ会議中に設定しようとしても遅いのであらかじめやっておくのがおすすめです。

Google日本語入力

brew install google-japanese-ime

keyboard設定からことえりを削除して、Google日本語入力の「ひらがな」を追加

設定を有効にするためにOSを再起動

iTerm2

brew install iterm2

他端末からの引っ越しの場合は、Profile設定をjsonでexportし、M1 MacでimportすればOKです。

git

brew install git

コミットログに残るユーザーの情報設定を忘れないようにしましょう。

git config --global user.name "Your Name"
git config --global user.email "your.email@bmail.com" 
# 確認
git config --global -l
		user.name=Your Name
		user.email=your.email@bmail.com

コミュニケーションツール

Slack

brew install slack

Notion

brew install notion

Teams

brew install microsoft-teams

Chrome同様、ビデオ会議中の画面共有を有効にするには、あらかじめ「Security & Privacy」中の「Screen Recording」から、「Microsoft Teams」をチェックしておく必要があります。
いざ会議中に設定しようとしても遅いのであらかじめやっておくのがおすすめです。

開発系 (エディタ)

VSCode

brew install visual-studio-code

PyCharm

brew install pycharm-ce

IntelliJ IDEA

brew install intellij-idea-ce

開発系(その他)

Docker Desktop for Mac

brew install --cask docker

brew install docker だと、Docker CLIのみがインストールされます。そのため、Docker Desktop for Macを入れるには --cask オプションが必要です。

terraform

terraform自体のバージョン管理を行うため、tfenvを利用してインストール

brew install tfenv

# 最新バージョンをセット
tfenv install latest
tfenv use latest

AWS CLI

brew install awscli

別マシンから引っ越しの場合は ~/.aws ディレクトリをまるっとコピーすればそのまま動きます。

Figma

デザイナーさんとの協業には欠かせないツール

brew install figma

Gyazo

Gif動画のスクリーンキャプチャが簡単に取れるツール

brew install gyazo

1Password

個人だけでなく、チームでのパスワード管理にもおすすめのパスワードマネージャー(通称ワンパス)

brew install 1password

そのほか、各開発言語の環境はHomebrewでインストールすることも可能ですが、使っているパッケージマネージャーなどによって変わったり、まだHomebrewで完結しない部分も多いため、ここでは割愛します。

Homebrewを使った背景

Mac引っ越しの際にアプリをインストールする方法は、そのほかにもいくつか考えることができます。

他の候補をなぜ採用しなかったかについて並べてみます。

候補1: 移行アシスタントで丸っとコピーする

Macには「移行アシスタント」というお引っ越し用専用アプリが用意されています。しかし、今回こちらは使いませんでした。

開発時のソースコードや、ダウンロードしたファイルをいろんなところに置くことによって、環境はどんどん汚れていきます。
家の中がどんどん物が増えて汚くなっていくので、数年に一回引っ越しをしてリセットする、という知り合いがいますが、これと同じようにOSを再インストールするたびにソフトウェアのインストールは新しく行うようにしています。
そうした不要なものや、アプリだけではなくデータやbuildによる中間生成物なども一緒にコピーすることになるため、移行アシスタントではデータの転送にかなりの時間がかかるというのも採用しなかった理由のひとつです。

さらに、ご存知のようにM1 MacはARMアーキテクチャであるため、ただファイルのコピーをしただけでは使えないアプリケーションもあるため、基本的にすべてのケースにおいて再インストールしておいたほうが安心というのもありました。

候補2: IaCのように完全にインストール手順を自動化する

先ほどのディスクコピーの対局として、完全にインストールを自動化する設計図を作る、という方法もあります。特にterraformやAnsibleなどでインフラ構成の自動化を行なっている方ほど再現性のある環境構築には馴染みが深いと思います。

しかし、数年に1回というOSインストールでは、バージョンアップによってそもそも昔の設定が使えなくなる恐れがあり、この設定を常に最新に保つためのメンテナンスコストは高くなるため、隅々までの自動化はしないこととしました。

その代わりに、Homebrewではインストールしたアプリを brew leaves 、Caskで入れたアプリは brew list --cask -1 によって書き出すことができます。次回の引っ越し時にはこれを使うことが可能になるというのもポイントでした。

候補3: それぞれのソフトウェアの配布サイトに行ってパッケージをダウンロード

多くのソフトウェアは公式ページにダウンロードボタンが置かれていて、そこからダウンロードできます。

この方法でしか配布していないソフトウェアもあるのでそうしたものは仕方ないのですが、サイトのURLが変わっていたりして、毎回ググらなければいけないしんどさがあるので、この方法は極力避けることとします。

ある程度の再現性を担保しつつ、手間をかけずに必要なソフトウェアだけをインストールする方法として、 "Homebrew" を極力使う運用にすることとしました。

70
52
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
70
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?