Stick with Time Machine...
I need to migrate to a newer MacBook soon, because my current one is falling apart.
You never mentioned what vintage your Mac you currently have is nor which Mac you'll upgrade to. However, it's not all that important as this is where Time Machine shines; especially in this transitional era going from Intel processors to Apple silicon. Time Machine backs up files and settings; the most important aspects of your system.
I don't recommend making a clone of a drive especially in situations like yours since you will be going from one machine to a completely different one (even if they are in the same model family like MacBook Pro). There is the potential to have a complete image of a drive with a macOS version incompatible with the new hardware - going from an i5 to an M1, for example. When moving from one Mac to another, use Migration Assistant; it can use Time Machine as a migration source.
Instead, use cloning for disaster recovery like going from similar vintage Mac computers or when you need to do a complete restore because your last experiment on the boot sector failed spectacularly.
How to see what Time Machine Backs Up....
Time Machine backs up both your system drive, the data drive (where you can write), and even the Recovery partition. To see what is backed up, simply browse the mounted TM volume and look for the .../Latest/
folder. You can obtain it with the tmutil
command:
% tmutil latestbackup
/Volumes/My Time Machine Drive/Backups.backupdb/my-mac/Latest
Listing that directory's contents reveals...
% ls /Volumes/My Time Machine Drive/Backups.backupdb/my-mac/Latest
drwxr-xr-x@ 14 root admin 476B Jun 26 2021 Macintosh HD
drwxr-xr-x@ 16 root wheel 544B Jun 26 2021 Macintosh HD - Data
drwxr-xr-x@ 4 root wheel 136B Jun 26 2021 Recovery
Above is just a sampling. Traverse the folders to see what's included with the current TM backup.
The Low Level Stuff...
So you know, a bunch of low level stuff and uncommon customizations. Will Apple's default tools be thorough enough to include those as well?
The most accurate answer is it depends.. If a file like a .plist for example is included in what is backed up, then yes, it will. If it's a system file, it's also likely to get overwritten when you get the new OS. It's also possible that the particular setting you wrote is deprecated and whatever you backed up will not be applied even though the file was restored.
Keep an Inventory of Your Customizations...
I make extensive changes to my system. I don't use Homebrew and instead opt for MacPorts - but the concept is the same.
Make copies of critical files you edit. For instance I have a folder that I ensure gets backed up of my .bash_profile
or .zprofile
as well as my ssh-keys and config files.
Get an inventory of your installed applications in Homebrew or in MacPorts
As you make tweaks to your system (i.e. defaults write com.apple.finder CreateDesktop false
) you will know what it is and what you did. The best part is you can script it in a Bash/Zsh script for the next time you do a fresh install. Here's a sample snippit:
...
echo "Writing my Finder Desktop Tweaks..."
defaults write com.apple.finder CreateDesktop false
sleep 1 # 1 second pause to allow you to read the output
echo "Writing my next tweak...."
defaults write com.apple.turbo.hamster.enable true
...
You could easily run that script to make your changes on a new system. The advantage this has is that you have in essence a "paper trail" of what you did so you can replicate it or trace down an error/failure.
Advanced. I make copies of my /etc/ssh
directory including the system identity files so if I am reinstalling and OS, I can overwrite the system defaults so that all of my devices don't have to "remember" the security keys when authenticating via SSH.
What Should You Buy?
Nothing, unless you absolutely need it.
Why?
Backup/Recovery is more of a process and strategy than a product you purchase. Everything you really need is already included with your Mac. With a little diligence, you can know and install everything you added with Homebrew.
Besides, I highly recommend re-installing your Homebrew formulae because what you compiled on your older Core i3/i5/i7 (dare I say Core2Duo) and the new M1/M2 you just acquired is likely to be incompatible. You'll need to recompile it for the new processor. This is where having that inventory will come in handy. Plus, you have the added benefit of auditing what you've installed - you might find that Nyancat you installed as a goof really isn't needed anymore.