GuideApril 21, 20267 min read

Switching from Mackup to ConfigSync (Before macOS Breaks It Again)

Mackup's symlink approach has been on borrowed time since macOS Sonoma. Here's how to migrate to ConfigSync — with real encryption, no cloud storage dependency, and full macOS compatibility.

Mackup's Symlink Problem

For years, Mackup was the go-to tool for Mac developers who wanted to sync their app configurations. The concept was simple: move your config files to Dropbox or iCloud Drive, then create symlinks back to the original locations. Every Mac using the same cloud storage account would automatically stay in sync.

Then macOS Sonoma 14 arrived and deprecated support for symlinks in iCloud Drive. The file_sync_only mode that relied on symlinks stopped working reliably. Configs would silently fail to sync, or worse, iCloud would replace your symlinks with copies, breaking the entire chain.

Mackup introduced a copy storage engine as a workaround, but without symlinks, there is no automatic sync — you must manually run mackup backup every time you change a setting. At that point, you are not really getting much value from the tool.

Beyond the symlink issue, Mackup has other limitations that have become harder to ignore. There is no encryption — your configs sit in plaintext in Dropbox or iCloud. There is no secrets management. There is no support for Linux. And you are completely dependent on a third-party cloud storage provider.

Why ConfigSync Is the Natural Successor

ConfigSync was designed from the ground up for the post-symlink world. Files stay in their original locations. Sync happens through ConfigSync’s own encrypted cloud storage — no Dropbox, no iCloud Drive, no third-party dependency. Everything is encrypted with AES-256-GCM before it leaves your machine.

It works on macOS Sonoma, Sequoia, and every future macOS release because it does not rely on symlinks or cloud storage provider features. It also works on Linux, so if you ever need to sync between a Mac and a Linux machine, you are covered.

Step-by-Step Migration

Step 1: Check what Mackup manages. Look at your Mackup configuration to see which applications are being synced.

Check Mackup configuration
# See your Mackup config cat ~/.mackup.cfg # List supported applications mackup list # Check which apps are currently backed up ls ~/Dropbox/Mackup/ # or ~/Library/Mobile Documents/com~apple~CloudDocs/Mackup/

Step 2: Restore original files. Before migrating, use Mackup’s own uninstall command to move files back from cloud storage to their original locations and remove all symlinks.

Restore originals
# This moves files back and removes symlinks mackup uninstall # Verify files are back in their original locations ls -la ~/.gitconfig # should NOT be a symlink ls -la ~/.ssh/config # should NOT be a symlink
Critical step: Run mackup uninstall before proceeding. This restores your actual config files from Dropbox/iCloud to their original locations. If you skip this step, you may end up with orphaned symlinks pointing to cloud storage.

Step 3: Install ConfigSync.

Install and initialize
npm install -g @configsync/cli configsync init

Step 4: Map Mackup apps to ConfigSync modules. Many applications that Mackup supports have corresponding ConfigSync modules. Modules track all related config files for an application automatically.

Add modules
# Add modules for your apps configsync add module vscode configsync add module git configsync add module ssh configsync add module zsh configsync add module vim configsync add module neovim configsync add module tmux

Step 5: Add remaining apps manually. For applications that do not have a built-in ConfigSync module, add their config files directly.

Add individual app configs
# Apps without a dedicated module configsync add config ~/.config/alacritty/alacritty.toml configsync add config ~/.config/starship.toml configsync add config ~/Library/Application\ Support/Sublime\ Text/Packages/User/Preferences.sublime-settings

Step 6: Push to ConfigSync.

Push your environment
configsync push -m "migrated from mackup"

Mackup App to ConfigSync Module Mapping

Here are the most common Mackup applications and their ConfigSync equivalents.

Mackup ApplicationConfigSyncCommand
Visual Studio Codevscode moduleconfigsync add module vscode
Gitgit moduleconfigsync add module git
SSHssh moduleconfigsync add module ssh
Zshzsh moduleconfigsync add module zsh
Vimvim moduleconfigsync add module vim
Neovimneovim moduleconfigsync add module neovim
Tmuxtmux moduleconfigsync add module tmux
Bashbash moduleconfigsync add module bash
Cursorcursor moduleconfigsync add module cursor
iTerm2Individual filesconfigsync add config <path>
Sublime TextIndividual filesconfigsync add config <path>
AlfredIndividual filesconfigsync add config <path>
KarabinerIndividual filesconfigsync add config <path>
RectangleIndividual filesconfigsync add config <path>
RaycastIndividual filesconfigsync add config <path>

What You Gain After Migrating

Works on macOS Sonoma and beyond. No symlinks means no compatibility issues with current or future macOS releases. ConfigSync tracks files in their original locations and syncs encrypted copies — Apple cannot break this approach.

Real encryption. Mackup stores your configs in plaintext in Dropbox or iCloud. Anyone with access to your cloud storage can read your git config, SSH config, shell history, and everything else. ConfigSync encrypts every file with AES-256-GCM before it leaves your machine. The cloud storage never sees plaintext data.

No Dropbox or iCloud dependency. ConfigSync uses its own encrypted cloud storage. You do not need a Dropbox subscription, and you are not at the mercy of iCloud Drive’s sync reliability (which, as many developers know, can be inconsistent).

Secrets management. Store API tokens, database passwords, and cloud credentials in ConfigSync’s encrypted secret store. Mackup had no concept of secrets — everything was treated as a regular config file.

Cross-platform support. If you ever work on a Linux machine, ConfigSync works there too. Mackup is macOS-only.

Package tracking. ConfigSync tracks your Homebrew formulae, casks, npm global packages, and more. When you set up a new Mac, configsync pull --install restores both your configurations and your installed applications.

Tip: After migrating, you can safely remove the Mackup folder from your Dropbox or iCloud Drive. Your configs now live in ConfigSync’s encrypted cloud storage, and the originals remain in their proper locations on your machine.

Ready to try ConfigSync?

Sync your entire dev environment across machines in minutes. Free forever for up to 3 devices.