必見の記事

ぼくの考えた最強のMac環境

2020.08.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、クラスメソッドの岡です。

先日MacBookProにコーヒーをこぼしてしまい、見事に壊れました。 電源はつくけどバックアップが取れない。。しかし不幸中の幸いで直前にGoogleDriveにデータを移していて、gitにもpushしていたので復元する必要はあまりないかも、、?
ということで、環境の見直しも兼ねて新しいMacをまっさらな状態からセットアップすることにしました。

今回はセットアップも兼ねて自分のお気に入りのツール等を一部ご紹介させていただこうと思います。

環境

macOS Catalina 10.15.6

アプリケーション

1Password: パスワード管理

Googleアカウントのパスワードすら覚えてないのでとりあえず1Passwordを入れます。

他にサインインしているデバイスがあれば、環境設定→アカウント→その他のデバイスを設定でセットアップ用のQRコードが出せるのでそれを新しいPCで読み取ると楽ちんです。

Clipy: クリップボードの拡張

コピペ魔神なのでClipyがないと生きていけません、、

コピー履歴を保持してくれます。スニペットも登録できます。

Rectangle: ウィンドウの移動とリサイズ

今までspectacleを使っていたんですが、既に開発終了となっていて後継となるRectangleが生まれていました。ありがたく使わせてもらいます。
これでウィンドウの移動とリサイズがコマンドでできるようになります。 (Windows使ってる方だと標準でできないのがびっくりされるかも?)

spectacleをベースに作られているのでほぼ同じ使い心地で利用できます。

自分はディスプレイ間の移動を一番多用するので、Next DisplayにControl+Command+→を割り当ててます。お好きなようにカスタマイズしてください。

⌘英かな: キーカスタマイズ

いままでJISキーボード派だったんですが、USキーに切り替えました。
けどやっぱり日本語入力の時めんどくさい。。

ってことで⌘英かなを入れました。 初期設定で左側のCommandが英数、右側がかなに割り当てられてるのでそのままでもJISキーと同じ感覚で使えます。入力後の変換もできる。やったね!

ちなみにKarabiner-Elementsでも同じことができます。
私は英数かな切替だけできれば満足なので⌘英かなを使っていますが、他のキーカスタマイズもしたい場合はKarabiner-Elementsの方を使うといいと思います。

システム環境設定

上記のClipy, Rectangle, ⌘英かなを使うためにはシステム環境設定の「セキュリティとプライバシー」からコンピュータの制御を許可する必要があります。

Notion: 万能ツール

最近Notionデビューしたのでデスクトップアプリを入れておきます。
ここからインストールできます。
多機能すぎてまだあまり使いこなせていません。とりあえずToDo機能を乱用しています。

Canva: デザインツール

手軽にお洒落な画像を作りたい時はCanvaを使っています。☝️はCanvaで作ったお遊び画像です。
Pro版もありますが、無料でも十分使えます。
ちなみにこの記事のサムネイルもCanvaで作成しました。

Chrome拡張編

ついでに元々使っていたChromeの拡張機能をいくつか紹介します。

1Password X

デスクトップアプリのみだとブラウザの自動補完ができないので拡張機能も入れておきます。

Workona

タブ管理ツールとしてWorkonaを使っています。
ワークスペース(別ウィンドウ)を作成してタブを分割できるのでスッキリします。
また、便利な機能としてアプリケーションを登録することができるので、追加したアプリをワークスペースから操作することができます。

AWS Extend Switch Roles

プロジェクトの数だけAWSアカウントが増えていくのでデフォルトのスイッチロール履歴だけではとても足りないのでこれで拡張しています。いつもお世話になってます!

こんな感じで~/.aws/configと同じ要領で設定ファイルを記述することでスイッチロールのリストを作成できます。

[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadmin
color = ffaaee

[anotheraccount]
aws_account_id = 987654321987
role_name = anotherrole
region=ap-northeast-1

[athirdaccount]
aws_account_id = 987654321988
role_name = athirdrole
image = "https://via.placeholder.com/150"

Black Menu for Google

これが一番使用頻度が高いかもしれないです。 アイコンをクリックするとGoogleのサービスがポップアップメニューとして表示されて、1クリックで翻訳を使ったりmeetに飛べたりします。

SearchPreview

Googleの検索結果にサムネイルを付与してくれます。
文字のみの検索結果よりも画像のプレビューがある方が視認性が上がり検索効率がグッとあがります!

ターミナル編

ここは好みにもなりますが、ターミナルアプリはiTerm2がおすすめです。

Homebrewのインストール

何をインストールするにしてもHomebrewを使うのが便利なので入れておきましょう。

インストール

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

確認

$ brew -v
Homebrew 2.4.9
Homebrew/homebrew-core (git revision 85250e; last commit 2020-08-05)
Homebrew/homebrew-cask (git revision 79a1d1; last commit 2020-08-06)

スクリーンショットの保存先を変更

デフォルトだとスクショはデスクトップに保存されますが、デスクトップがごちゃつくと嫌なので、保存先を変更しておきます。

$ defaults write com.apple.screencapture location {保存先のパス}

fish shell

前のPCではHigh Sierraから使っていてbashの設定ファイルを結構作り込んでいたため、移行するのが億劫でそのままbashを使っていたんですがこれを機にfish shellに移行しました。

ちなみにCatalinaのデフォルトシェルはzshになっているのでzshからfishに移行します。

fish shellをインストール
$ brew install fish
fish, version 3.1.2

使用可能なシェルを確認
$ cat /etc/shells

fish shellのパスを確認
$ which fish
/usr/local/bin/fish

/etc/shellsに追記する
$ sudo vi /etc/shells
インサートモードで/usr/local/bin/fishを追記

デフォルトシェルをfishに切り替え
$ chsh -s /usr/local/bin/fish

ターミナルを再起動したら、

Welcome to fish, the friendly interactive shell
Type `help` for instructions on how to use fish
oka.haruna@local ~>

無事切り替わりました!

続いて、fishのプラグイン管理ツールを入れていきます。
と、ここまで書いて気付いたのですが、既に素晴らしい過去記事が出来上がっていたのでこちらを参考にさせてもらいます。

fish shell を使いたい人生だった | Developers.IO

anyenvのインストール

直近でPythonとNodeを使う予定なので、pyenvとnodenvだけ用意しておきます。

brewでanyenvをインストール

$ brew install anyenv

anyenv init で出力された内容を設定ファイルに転記します。

$ anyenv init
# Load anyenv automatically by adding
# the following to ~/.config/fish/config.fish:

status --is-interactive; and source (anyenv init -|psub)

$ vi ~/.config/fish/config.fish

初期化

$ anyenv install --init
Manifest directory doesn't exist: /Users/oka.haruna/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y
Cloning https://github.com/anyenv/anyenv-install.git master to /Users/oka.haruna/.config/anyenv/anyenv-install...
Cloning into '/Users/oka.haruna/.config/anyenv/anyenv-install'...
remote: Enumerating objects: 48, done.
remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48
Unpacking objects: 100% (48/48), 6.65 KiB | 162.00 KiB/s, done.

Completed!

pyenvとnodenvをインストール

$ anyenv install pyenv
$ anyenv install nodenv
$ exec $SHELL -l

グローバル環境は最新にしておきたい派なので現時点の安定版の最新を入れておきます。

$ pyenv install 3.8.5
$ pyenv global 3.8.5
$ python --version
Python 3.8.5
$ nodenv install 12.18.3
$ nodenv global 12.18.3
$ node --version
v12.18.3

PythonとNodeのバージョン管理ができるようになりました。

さいごに

以上、Macのセットアップの一例でした。(他にもいくつか入れてますが汎用的なツールに絞って紹介しています。)
後半のターミナル編はエンジニア向けになってしまいましたが上のツール群はどの業種でも使えると思うので参考になれば幸いです。