Migrating to the Apple MacBook Air M2
My 13” MacBook Pro, Intel Core i7, 16GB RAM (2017) was lasting ~2 hours at the coffeeshop, so decided to ugprade to the MacBook Air M2.
Friction Log
-
Migrating from Previous Mac
Migration Assistant actually did an excellent job of bringing over apps & settings: Move content to a new Mac.
What’s most impressive is that it has a Peer-to-Peer connection option that’s faster than Wi-Fi.
However, anytime you get a warning about Rosetta to open an app, that’s a sign you should reinstall it.
-
Git
When running
git
, I would get this error:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun. – StackOverflow
Solving this was easy as running:
xcode-select --install
-
Installing
brew
is the foundation of all other macOS software./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Clipboard Manager
Jumpcut has been with me for years as my favorite, minimal clipboard manager:
brew install --cask jumpcut
Plus, it’s a stack for my memory when writing posts like this 😅
-
curl -fsSL https://get.pnpm.io/install.sh | sh -
-
Node
By default,
node
didn’t exist on this machine.Traditionally, I would manage Node with nvm, fnm, or volta.
But now that I exclusively use pnpm,
pnpm
can managenode
versions for me instead!pnpm env use --global lts
Then, you can tell
pnpm
to automatically install & respect this version when runningpnpm
commands in a project with use-node-versionnode --version > .npmrc
Loading tweet…
-
pure prompt
pnpm install --global pure-prompt
Then, update zsh to use it:
# .zshrc autoload -U promptinit; promptinit prompt pure
-
VS Code
Thanks to Settings Sync, all of my settings were already saved & synced between machines.
Conclusion
All-in-all, it took about an hour to get productive again (not including transferring files from Migration Assistant).
I used to think dotfiles were the solution to this!
But my dotfiles from 10 years ago were stale & irrelevant within a year. The ROI just didn’t exist.