Migrating to a new Mac

I recently bought a new MacBook Pro 13-inch (2017, w/o TouchBar) to replace my aging MacBook Air 13-inch (mid-2013). My old machine only has 4GB memory and 128GB SSD, and it’s slowing things down sometimes. When I was setting up my new Mac, I decided to have a fresh install of macOS. This allows me to think about what should be migrated from an old Mac to a new Mac. I think even if you are not migrating to a new Mac, it’s still good to think about this so that you know what should be backed up. In this post, I will talk about a few aspects of migration.


The most important thing is always the precious data. Personally, as a user of Dropbox and GitHub, most of my important data are kept in the cloud. This makes the whole migration process much easier. However, I do have some local data that are not backed up to any cloud. Basically, I think every folder in the user folder (i.e. /Users/<username>) should be a candidate of the migration. For me, I migrated some files in ~/Documents (which are not in my Dropbox), my iTunes library in ~/Music, and my Photos library in ~/Pictures.

For migrating the iTunes library, I simply opened iTunes on the new Mac and imported the songs into it. It matched with my Apple Music songs (I uploaded them to Apple Music previously). There might be a few duplicates that needs to be deleted manually. The list of duplicated songs could be viewed from the menu. For migrating Photos library, I copied over the .photoslibrary file to ~/Pictures of my new Mac and opened Photos. It recognized everything.


Next I have to install my applications on my new Mac. This could be easily done with Homebrew and Homebrew-Cask. You could prepare a simple shell script to automatically install everything. First, install them in the terminal

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew tap caskroom/cask

Then install terminal programs with Homebrew and GUI applications with Homebrew-Cask. For example,

$ brew install vim # installs terminal vim
$ brew cask install google-chrome # installs Google Chrome

Some GUI applications might not be available as a cask. You need to then download them from Mac App Store or the app’s official website.

It’s a good habit to store all the activation codes in a single place (e.g. Evernote) so that after installing the applications, they could be easily activated on the new machine.


Don’t forget to copy the settings over to the new Mac. However, as there are numerous settings in the OS (and in apps). The best is to only change the most essential settings when setting up the new machine. For me, I just changed some keyboard and trackpad settings. For the rest, leave it to when you actually use the application/feature for the first time on the new system. That would make things much easier.

Back up the old Mac

Although most of the things should be migrated to the new Mac by now, having a backup of the old Mac is still a good idea just in case some files are not copied over previously. Time Machine should be enough to do the job.


Migrating from an old Mac to a new one is actually easier than I thought. Keeping things in the cloud and installing software with Homebrew definitely helped along the way. With this post, I hope you get some ideas of what should be migrated or how to setup a new machine quickly.

comments powered by Disqus