If you are looking for a solution to stop struggling while trying to keep in synch ssh, git or other cli tool within all your MacBook nor Linux systems, there’s a great tool which I just found today …

and this tool is mackup

In my use case, I’m using several MacBook devices and don’t want to waste my precious time by doing some dirty rsync or keeping my ssh config in a Git repo hosted on GitLab nor GitHub.

After searching a bit on the web, I’ve found some pretty good tips and articles but none were good enough, or only covers some parts of what I’d like to do.

But then I’ve found *mackup !

mackup can be installed on Linux and MacOS, in my case, I need it on MacOs.

So to install mackup, I simple ran this brew command

brew install mackup

mackup offers different storage options, the one I choosed is iCloud to keep ssh, git, vim, zsh and p10k config (see my config below)

cat ~/.mackup.cfg

[storage]
engine = icloud

[applications_to_sync]
vim
git
ssh
zsh
p10k

then to run the first backup, run

mackup backup

If like me you own another MacBook, then it’s really simple to restore last mackup backup

Install mackup as I’ve already mentioned above

brew install mackup

Create the mackup config file

cat <<EOF > $HOME/.mackup.cfg
[storage]
engine = icloud

[applications_to_sync]
vim
git
ssh
zsh
p10k
EOF

and restore last mackup config

mackup restore

Once all your devices are setup using mackup, then no need to keep in sync your ssh or any other cli tool config between all your devices …

and voilà …

Check mackup Readme on GitHub for more instructions about installation and configuration.