How to move to a new Mac without Migration Assistant
Last summer I got a new MacBook Pro M2 and decided to go with a fresh install. With my previous MacBooks, I used Migration Assistant and it worked well. But this time it was a switch from Intel and I wanted to clean unnecessary files, applications, and settings.
Here is the list of files I moved and apps I installed.
The Documents and Desktop directories I have in iCloud. They synced automatically.
The YouTube projects I have on the external SSD drive.
Apple Photos library I have in iCloud, but I copied it manually. There are 230Gb, and it takes a long time to download it.
The other big directory is Projects
Projects I moved. To do this, I cleaned all Python environments and node_modules. The problem with them is not the size, but the quantity of small files, that make it long to copy.
find . -name 'env' -type d -prune -exec rm -rf '{}' \;
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;
I used AirDrop to copy them. I tried target disk mode, but it was not faster.
I installed brew and the tools I need.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install zsh openforti pyenv hugo
Then I copied some hidden folders and files like private/public keys in .ssh
, shell profile .zshrc
, .oh-my-zsh
, and .gitconfig
. History for CoconutBattery from /Users/<username>/Library/Application Support/coconutBattery
ssh-add --apple-use-keychain ~/.ssh/id_rsa
ssh-add --apple-load-keychain
I installed macOS apps.
- iterm2
- vscode - For VSCode settings and plugins, I set up automatic sync. I just redownloaded JetBrains Mono font.
- docker
- microsoft teams
- studio 3T
- sequel pro
- xcode
- SF Symbols beta
- toggl track
- davinci resolve
- 1password
- arc
- alfred
- goodnotes
- notion
- electrum
- plex
- vlc
- zoom
- telegram
- spotify
- transmission
- daisy disk
- coconutBattery
- hazeover
- hazel
- istatmenu
I mostly use the defaults for the system settings. So, I didn’t look for a solution for automatic transfer and changed them for the trackpad and keyboard by hand.
After that, it was ready to work.