Apple Silicon Macbook Proへの移行でやったこと @ 2021
移行ツールを使うと余計なものが色々入ってしまうため、 Intel Macbook ProからApple Silicon Macbook Proへと手動で移行した。
- 移行元: Macbook Pro 13” Intel Core i7 32GB 2020
- 移行先: Macbook Pro 14” Apple M1 Max 64 GB 2021
最初にやっておくと便利なこと
- それぞれのmacでユニバーサルクリップボードを有効化
- ファイルとか文字列のやりとりが楽になる
- ユニバーサルクリップボードを使って Apple デバイス間でコピーアンドペーストする - Apple サポート (日本)
- 適当に元macでファイルをコピー、新しいmacでペーストするだけでファイルコピーできる
- scpやrsyncでファイルを渡せるようにする
# 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 or ターゲットディスクモードを使う
rsync -cahE --no-i-r --info=progress2
- Mac同士をThunderboltケーブルでつないでファイル共有、ニコイチで使う。|Yoshiryu|note
- ThunderboltでIPを使ってMacコンピュータを接続する - Apple サポート (日本)
- 両方ともうまくいかなかったので普通にネットワーク越しにrsyncした
- rsyncの方が進捗出たり、速度も早い
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
- アプリをダウンロードしてログイン
- プラグインはほとんど自作なので、ローカルでビルドしてipm linkした
- 設定は以下の二つをコピーしただけ
- config.cson
- keymap.cson
Hammerspoon
- WifiのSSIDによってアプリを起動したり終了したりするのに使ってた
- 最近はこの切り替えすることないので、使わないことで解決
- 任意のWiFi接続・切断時に任意のシェルスクリプトを実行するHammerspoonの設定
Slow Quit Apps
- Cmd+Qを長押しでアプリを終了するやつ
- sleepすると復帰時に動かなくなることがあって面倒だったので、karabinerでHold + Qに変更した
- Apps – Marco.orgと言うのも同じようなアプリらしい
VSCode
- 設定の同期を有効にして、移行した
- Settings Sync in Visual Studio Code
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
- MX1 Macbook Pro 14インチにはTouchbarがない
- TouchbarはマイクをON/OFF + マイクの状態表示するために使ってた
- Mutify for Macが便利だった
- 代わりとなるアプリが見つけられなかったのでmic-mutebarというアプリを書いた
- マイクのON/OFFを表示、入力中の表示ができる小さなアプリ(任意の場所に移動して表示できる)
- PC/macOSのマイクがミュート状態か入力中かを表示するアプリを書いた | Web Scratch
自作のアプリ
- Electronを最新まであげてApple Siliconに対応した
- https://github.com/azu/post-tweet Twitterに投稿するやつ
- https://github.com/azu/postem クロスポストするやつ
- https://github.com/azu/mydiscord Discord開くやつ
- https://github.com/azu/mu-epub-reader epubを読むやつ
- https://github.com/azu/mu-pdf-viewer: PDFを読むやつ
- pdf.jsなPDFビューアアプリをElectronで作った | Web Scratch
- pdf.jsが結構アップデートされてるから、更新したいなー
付属品
- Macbook Proのスタンド:
- Kickflip 13インチを継続して使ってる
- Macbook Proのケース:
- MOFT 13.3インチケースがMacbook Pro 14”にピッタリ
- ケースとスタンドになる
- Kickflip使ってるので別にいらない感じもするけど
- プライバシーフィルター:
- 充電アダプター:
- Anker Nano II 65W使ってたけどプラグがすごい曲がってダメになった
- RAVPowerを使ってみてる
- セキュリティキー:
- YubiKeyを継続
- セキュリティキー YubiKey 4C Nanoの設定と運用 | Web Scratch
感想
- 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チップ)
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。