🍎

Mac M2 購入について&設定することまとめ

2023/12/17に公開

Windowsから買い替えで、M2のMac miniを購入した時に行ったセットアップや開発環境準備などについて記載しました。
購入時に検討したことや最初にインストール・設定しておくと便利なものについてまとめています。
これから購入する方の参考になれば幸いです🙏

購入したMacについて

Mac mini Apple M2チップ 84,800円(税込)〜
https://www.apple.com/jp/mac-mini/

【詳細スペック】
・ 8コアCPU/10コアGPU/8GBユニファイドメモリ/16コアNeural Engine搭載
・ SSD256GB

なぜMac miniにしたか

Windowsが不調になり、次はMacを使ってみようと思い買い替えを決めました。
M2のMacBook Pro(購入当時はM3が発売されてませんでした)とMac miniで迷いましたが、単純にMac miniが安価で購入できること、外出してPCを使用する機会が少ないことが理由です。

SSD256GBは少なくない?

費用を抑えるため最低限のSSD256GBで購入しましたが、この容量だとすぐにオーバーしてしまうのではないかと思います。そのため、外付けのSSDとケースを購入し容量問題をカバーすることにしました。
ちなみに購入した外付けSSDはこちらです↓
■ 内蔵SSD
https://www.westerndigital.com/ja-jp/products/internal-drives/wd-black-sn770-nvme-ssd?sku=WDS100T3X0E
■ SSDケース
https://amzn.asia/d/3B4vSPE

価格は高いものではありませんが、今のところ支障なく使えています。

購入場所

Mac miniはヨドバシ.comで購入しました。
価格に差はなかったので公式やAmazonでも良かったのですが、ヨドバシは梱包・配送が丁寧かつ早いので、よく利用します。

そのほか一緒に購入したもの

■ キーボード
https://amzn.asia/d/2H55yEo

Windows、Mac、Android/iOS(iPhoneとiPad)に対応するキーボードで、デバイス間で切り替えて使用できます。
キーボードにこだわりはないのですが、複数のデバイスで使用する必要があったのでこちらを購入しました。
重量は結構ずっしりと重いですが、スマホやタブレットを立てかけたりできるスタンドがあるので便利です。

設定することリスト

最初にやること

  • パスワード、ユーザー名を決める
  • ソフトウェア・アップデート
  • システム設定から各項目の設定を行う(一般、Dock、ディスプレイ、省エネルギー、キーボード、マウス、AirDrop、プライバシーとセキュリティなど)
  • プリンター、ネットワークの設定(ファイアウォールは有効にする)
  • Finderの表示設定(サイドバーに表示する項目、パスバーなどの表示)

各項目の設定に関してこちらの記事が大変参考になりました!
参考URL:Mac を買ったら必ずやっておきたい初期設定

隠しフォルダ・ファイルを常に表示

隠しフォルダ・ファイルは表示する設定に変更しておきます。
ターミナルにて下記コマンドを実行

# ①下記コマンドをペーストしEnter
defaults write com.apple.finder AppleShowAllFiles TRUE

# ②下記コマンドを実行
killall Finder

Homebrewをインストール

macOS(またはLinux)用パッケージマネージャーです。
今後アプリやパッケージをHomebrew経由でインストールするため、最初にHomebrew自体をインストールします。
公式サイトのTOPのInstall Homebrewに沿ってコードをターミナルにペーストします。

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

パスワード入力はMac PCのログインパスワードです。
また途中でエラーが出る場合は、Next steps:以降に書かれているログのコードを確認します。
完了したらインストールできているか下記のVersion確認コマンドで確かめます。

# version確認
brew -v

# brewでインストールしたパッケージを表示するコマンドはこちら
brew list

無事にインストールできたらPATHを通すため、.zshrcに下記を追記します。

typeset -U path PATH
path=(
  /opt/homebrew/bin(N-/)
  /opt/homebrew/sbin(N-/)
  /usr/local/bin(N-/)
  /usr/local/sbin(N-/)
  /usr/bin
  /usr/sbin
  /bin
  /sbin
  /Library/Apple/usr/bin
)

GitをHomebrew経由でインストール

MacにはデフォルトでGitが入っていますがApple Gitであるため、最新のGitにします。

# Homebrew経由でGitをインストール
brew install git

# gitのversion確認コマンド。この時点ではまだApple Gitと表示される。
git --version

次にGitのPATHを通すため、.zshrcに下記を追加で記述します。
またintelとApple siliconではGitのインストール先が異なるので、パスの指定が異なります。

# Apple silicon版
export PATH="/opt/homebrew/bin:$PATH"

# intel版
export PATH="/usr/local/bin:$PATH"

反映後、再度下記のVersion確認コマンドで最新のGit versionであることが確認できます。

git --version

その他Homebrew経由でインストールしたもの(Node.js以外)

  • Google Chrome
  • Brave(あると便利なブラウザなので)
  • Google 日本語入力
  • Docker Desktop for Mac
  • Wrap(ターミナル)
  • VS Code
  • Slack
  • Zoom
  • Skype
  • AppCleaner(アプリをアンインストールする用)
  • go
  • Python3
  • ghq ※install後の設定は下記参照
  • peco ※install後の設定は下記参照
  • フォント(Noto Sansなどよく使用するフォント)

ghq

ghqはリポジトリ管理ツールです。
リポジトリ一覧の確認や移動が簡単にできます。

clone先のルートとするディレクトリを決めて設定します。(ここではprojectsに設定)

git config --global ghq.root '~/projects'

pecoの設定

peco導入する事でディレクトリ移動や、過去のコマンドを検索する時に便利になります。

参考URLの記事を参考に、.zshrcに下記を追記しました。(追記場所は任意でOKです)

# ctrl + r で過去に実行したコマンドを選択できるようにする。
function peco-select-history() {
  BUFFER=$(\history -n -r 1 | peco --query "$LBUFFER")
  CURSOR=$#BUFFER
  zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history

# cdr自体の設定
if [[ -n $(echo ${^fpath}/chpwd_recent_dirs(N)) && -n $(echo ${^fpath}/cdr(N)) ]]; then
    autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
    add-zsh-hook chpwd chpwd_recent_dirs
    zstyle ':completion:*' recent-dirs-insert both
    zstyle ':chpwd:*' recent-dirs-default true
    zstyle ':chpwd:*' recent-dirs-max 1000
fi

# ctrl + f で過去に移動したことのあるディレクトリを選択できるようにする。
function peco-cdr () {
    local selected_dir="$(cdr -l | sed 's/^[0-9]\+ \+//' | peco --prompt="cdr >" --query "$LBUFFER")"
    if [ -n "$selected_dir" ]; then
        BUFFER="cd ${selected_dir}"
        zle accept-line
    fi
}
zle -N peco-cdr
bindkey '^f' peco-cdr

# ctrl + g でpecpとghqを組み合わせてgitリポジトリのみが抽出対象になるようにする。
function peco-ghq-look () {
    local ghq_roots="$(git config --path --get-all ghq.root)"
    local selected_dir=$(ghq list --full-path | \
        xargs -I{} ls -dl --time-style=+%s {}/.git | sed 's/.*\([0-9]\{10\}\)/\1/' | sort -nr | \
        sed "s,.*\(${ghq_roots/$'\n'/\|}\)/,," | \
        sed 's/\/.git//' | \
        peco --prompt="cd-ghq >" --query "$LBUFFER")
    if [ -n "$selected_dir" ]; then
        BUFFER="cd $(ghq list --full-path | grep --color=never -E "/$selected_dir$")"
        zle accept-line
    fi
}

zle -N peco-ghq-look
bindkey '^g' peco-ghq-look

# deで目的のdockerコンテナに接続
alias deb='docker exec -it $(docker ps | peco | cut -d " " -f 1) /bin/bash'
alias dea='docker exec -it $(docker ps | peco | cut -d " " -f 1) /bin/ash'

下記コマンドを実行して、変更を反映します。

source ~/.zshrc

参考URL:
ghqとpecoでリポジトリの管理を便利にする
ghqでリポジトリ管理を簡単にする
zshとpecoでコマンド入力作業を快適に
【Zsh】大改造ターミナル環境【Zinit】

Node.jsはVoltaでインストール(Homebrewは使わない!!)

VoltaはNode.jsバージョン管理ツールです。
比較的新しいツールですが性能が優れています。
詳しいインストールの流れは下記の記事が大変参考になります!

参考URL:
Node.jsのバージョン管理はVoltaに決定
Voltaを利用してMacでNode.jsのインストール - homebrewは使わないで!

zshの設定

下記の記事を参考に.zshrcに追記していきます。
参考URL:macOS の zsh ではこれだけはやっておこう

今回はzshのパス表示を編集したので、git_prompt()を下記のようにしました。
また$(git_super_status)を使用するにはaliasにPython指定が必要になるので、HomeberwでPython3をインストールしておきました。
自分が追記した内容はこちら↓

setopt nonomatch
setopt RM_STAR_SILENT
ZLE_REMOVE_SUFFIX_CHARS=$''

autoload -Uz colors && colors
zstyle ":completion:*:commands" rehash 1

if type brew &>/dev/null; then
  FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
  autoload -Uz compinit && compinit
  source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
  source $(brew --prefix)/opt/zsh-git-prompt/zshrc.sh
fi

typeset -U path PATH
path=(
  /opt/homebrew/bin(N-/)
  /opt/homebrew/sbin(N-/)
  /usr/local/bin(N-/)
  /usr/local/sbin(N-/)
  /usr/bin
  /usr/sbin
  /bin
  /sbin
  /Library/Apple/usr/bin
)

if type brew &>/dev/null && type $(brew --prefix)/bin/python3.11 &>/dev/null; then
  alias python="$(brew --prefix)/bin/python3.11"
  alias pip="$(brew --prefix)/bin/pip3.11"
else
  alias python="/usr/bin/python3"
  alias pip="/usr/bin/pip3"
fi

git_prompt() {
  local cyan=$'\e[36m' reset=$'\e[m'
  if [ "$(git rev-parse --is-inside-work-tree 2> /dev/null)" = true ]; then
    PROMPT="%{${cyan}%}%~%{${reset}%} $(git_super_status) "$'\n'"%# "
  else
    PROMPT="%{${cyan}%}%~%{${reset}%} "$'\n'"%# "
  fi
}

add_newline() {
  if [[ -z $PS1_NEWLINE_LOGIN ]]; then
    PS1_NEWLINE_LOGIN=true
  else
    printf '\n'
  fi
}

precmd() {
  git_prompt
  add_newline
}

tgz() {
  if [ $# -lt 2 ]; then
    echo "Usage: tgz DIST SOURCE"
  else
    xattr -rc "${@:2}" && \
    env COPYFILE_DISABLE=1 tar zcvf "$1" --exclude=".DS_Store" "${@:2}"
  fi
}

下記コマンドを実行して、変更を反映します。

source ~/.zshrc

そのほかアプリのインストール

クリップボードアプリがあると何かと便利なので、今回はCopyLess 2をApp Storeからインストールしました。

Windowsと比較してみて

Windowsと比較したメリット・デメリットです↓
Macに切り替えて正直あまりデメリットを感じるポイントはありませんでしたが、Windowsの良いポイントも記載します。

Macのここがいい

■ 起動が早い
Windowsも使い始めの次期などPC内のデータ容量がそこまで重くない場合は気になりませんが、どうしても使い続けていると起動時間が遅くなってくるように思います。
Macの場合、常に起動が早いのでストレスを感じません。

■ 標準でUNIXコマンドが使用できる/Docker使用環境を作るのが楽
Windowsを使用していた時はUNIXコマンド使用可能にする&Dockerを使用するためにまずWSL2でLinux環境を構築して…ということをしていましたが、ある程度手間と時間がかかっていました。
1台ならともかく複数のWindowsで同じ作業をするとなると面倒です💦
Macならその必要がないのでかなり楽でした。
※ただしAppleシリコンMacの場合、パフォーマンスの問題はあるようです。

■ Homebrewで管理できる
パッケージ管理がHomebrewでほぼ完結できるのは大きな利点です。
Windowsから乗り換えて一番便利だと感じたポイントです。

Windowsのここがいい

■ WordやExcelなどのMicrosoft Office製品を使う場合
Mac版もありますが、Office製品はWindowsで使用するユーザーの方が多い気がするので、フォーマットがずれたり互換性を気にすることを考えるとWindowsの方が使い勝手が良いかなと思いました。

■ クリップボードの履歴の機能がデフォルトで用意されている
Macだと別途アプリやツールが必要になるかと思いますが、Windowsはデフォルトで使用できるので若干便利かなと思いました。
(Macもいろいろなクリップボードツールはあるので、そこまで大差はないかもしれませんが)

■ TVチューナーを使用する場合
開発環境と関係ないですが、チューナーでTVを視聴する場合は、AppleシリコンMacだとMac miniのようにディスプレイが内蔵されていないMacでは動作しない製品もあります。

まとめ

新しいPC購入にあたり、Windowsを引き続き使用するかMacに乗り換えるかだいぶ迷いましたが、総合的に今回は乗り換えて良かったかなと思います。
開発するものや言語によってWindowsの方が向いている場合もあると思いますが、どちらでも開発できる場合はMacの方が初心者にとっては開発環境の設定などを含めて利用しやすいように思いました。
またMacに変えたことでそれぞれの開発環境に必要な設定の違いなど知ることができたのは良かったです。

参考URL

Mac を買ったら必ずやっておきたい初期設定
ghqとpecoでリポジトリの管理を便利にする
ghqでリポジトリ管理を簡単にする
zshとpecoでコマンド入力作業を快適に
【Zsh】大改造ターミナル環境【Zinit】
Node.jsのバージョン管理はVoltaに決定
Voltaを利用してMacでNode.jsのインストール - homebrewは使わないで!
macOS の zsh ではこれだけはやっておこう

Discussion