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.