移行ツールを使うと余計なものが色々入ってしまうため、 Intel Macbook ProからApple Silicon Macbook Proへと手動で移行した。

  • 移行元: Macbook Pro 13” Intel Core i7 32GB 2020
  • 移行先: Macbook Pro 14” Apple M1 Max 64 GB 2021

最初にやっておくと便利なこと

# scpでパスフレーズの入力補助
brew install hudochenkov/sshpass/sshpass

SCPで元MacAから新しいMacBへファイルをコピー

# 同じネットワークなら共有のところにある端末名が利用できる
NEW_MAC="[email protected]"
# 新しいmacのパスワード(user)
NEW_MAC_PASS="XXXX"
# ファイルをネットワークでコピーして渡す
sshpass -p "$NEW_MAC_PASS" scp -p ./Brewfile $NEW_MAC:~/Desktop
rsync -cahE --no-i-r --info=progress2 -r --exclude 'node_modules' コピー元 [email protected]:コピー先

設定ファイルの移行

  • 隠しファイルとかの設定ファイルをまとめて移行する
    • ls -a -l ~/ で目視で渡すものを探す
    • 一応、元Macの ~/LibraryApplication Support だけはバックアップしておいた(結局は使ってない)
sshpass -p "$NEW_MAC_PASS" scp -p -r ~/.ssh $NEW_MAC:~/.ssh
sshpass -p "$NEW_MAC_PASS" scp -p -r ~/.config $NEW_MAC:~/.config
sshpass -p "$NEW_MAC_PASS" scp -p -r ~/.aws $NEW_MAC:~/.aws
sshpass -p "$NEW_MAC_PASS" scp -p -r ~/.netlify $NEW_MAC:~/.netlify
sshpass -p "$NEW_MAC_PASS" scp -p -r ~/.hammerspoon $NEW_MAC:~/.hammerspoon
sshpass -p "$NEW_MAC_PASS" scp -p -r ~/.talon $NEW_MAC:~/.talon

# file
sshpass -p "$NEW_MAC_PASS" scp -p ~/.zshrc $NEW_MAC:~/.zshrc
sshpass -p "$NEW_MAC_PASS" scp -p ~/.zsh_history $NEW_MAC:~/.zsh_history
sshpass -p "$NEW_MAC_PASS" scp -p ~/.npmrc $NEW_MAC:~/.npmrc
sshpass -p "$NEW_MAC_PASS" scp -p ~/.cargo/credentials $NEW_MAC:~/.cargo/credentials
sshpass -p "$NEW_MAC_PASS" scp -p ~/.gitconfig $NEW_MAC:~/.gitconfig
sshpass -p "$NEW_MAC_PASS" scp -p ~/.gitignore_global $NEW_MAC:~/.gitignore_global

Homebrew && App Store

Homebrew + mas-cli/masで、コマンドとApp Storeでインストールしたものを基本的にはそのまま移行。一部インストールできなくなっているものはあった。 masを使うと、AppStoreのアイテムもダンプしたり、インストールできる。

  • 前のmacでダンプする
brew install mas
brew bundle dump
  • 新しいmacでbundleするとインストールできる
brew bundle

zsh

  • antigenからoh-my-zshに移行
  • zsh frameworkなしも考えたけど、面倒だったのでoh-my-zshに戻った
  • 昔oh-my-zsh起動が遅い問題があったけど、そうでもなくなっていた
  • zsh frameworkはなしのパターンは、次のような感じでいけそう
    • Fig: 補完
    • historyとかはpecoとか
    • prompt: Starship: Cross-Shell Prompt
    • 行けそうだけど、起動時のキャッシュとか結局欲しいのでoh-my-zshに乗った
  • テーマはoh-my-zshじゃなくてStarshipを使ってる
    • 設定は ~/.config あたりをコピーして終わり
brew install starship
brew tap homebrew/cask-fonts
brew install --cask font-fira-code-nerd-font

Inkdrop

Hammerspoon

Slow Quit Apps

  • Cmd+Qを長押しでアプリを終了するやつ
  • sleepすると復帰時に動かなくなることがあって面倒だったので、karabinerでHold + Qに変更した
  • Apps – Marco.orgと言うのも同じようなアプリらしい

VSCode

JetBrains

  • Toolbox Appをダウンロード
  • 必要なものを入れてアカウントをactivate
  • 設定はアカウントで同期できるので、それで移行完了

GitHub

  • git pull/push用のトークンは再発行した
  • git-browse-remoteを使っていたけど、gh repo view --webとかを使うようにした
  • ghqベースのリポジトリ管理なので、元macからリポジトリをコピーした
    • rsync -cahE --no-i-r --info=progress2 -r --exclude 'node_modules' ~/ghq/ [email protected]:~/ghq/
    • node_modulesはnative addonとかでrebuild必要になるので除外
    • ローカルのリポジトリ丸々コピーした

Touchbar

自作のアプリ

付属品

感想

  • Homebrew入れ直したらパスが /opt/homebrew/bin/ だった
  • バッテリーの持ちがよくなった
  • ちょっと重くなった(バランスが悪い感じがする)
  • メモリが64GBまで詰めるようになったので安心
  • 使えなくなるアプリみたいのはあんまりなかった
  • Docker for Macが一番ハマる気がする
  • Nodeで動かないのはnative moduleで、PuppeteerとかChrome使うようなやつが古いとだめ
  • 充電にMagSafe使ってないので、USB Cポートもう一つ欲しかった(USB Cが3つ、MagSafe、HDMI、SDカードのポートがある)
  • 普段はUSB Cだけど、HDMIはたまにあると便利
  • 外部ディスプレイは相性問題がある気はする(M1チップ)