Mackup is a handy tool designed for macOS and Linux users that enables you to easily back up and restore your application settings, preferences, and configurations.

This guide will walk you through the installation process, highlight what it does right, and provide you with usage tips.

What is Mackup?

Mackup is a command-line tool that automates the backup of configuration files for various applications on macOS. By storing these settings in a cloud storage solution like Dropbox, Google Drive, or GitHub, Mackup allows you to synchronize your environment across multiple machines. This is particularly useful for developers who switch between computers frequently or want to ensure their settings are preserved during system upgrades.

Benefits of Using Mackup

  1. Seamless Synchronization: Mackup lets you keep your application preferences in sync across multiple devices, making it easy to maintain a consistent working environment.

  2. Simplified Backups: Instead of manually copying configuration files, Mackup automates the backup process, reducing the risk of human error.

  3. Versatile Compatibility: Mackup supports a wide range of applications, including popular tools like Visual Studio Code, Sublime Text, and Terminal settings, among others.

  4. Cloud Storage Integration: With support for various cloud services, you can easily store your settings in a location that's accessible from anywhere.

  5. Easy Restoration: When switching devices or after a system reinstallation, restoring your preferences with Mackup is straightforward and quick.

WARNING

⚠️ Mackup does not work correctly in Macos Sonoma, since it does not support symlinked files for preferences. Running this code will destroy all user preferences without a means for recovery.

Installation

Installing Mackup is a breeze. You can set it up using Homebrew, a package manager for macOS. If you don’t have Homebrew installed, follow these steps:

  1. Install Homebrew (if you haven’t already):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Mackup:

    Open your terminal (hope it's kitty now ^*) and run:

    brew install mackup
  3. Verify Installation:

    After installation, check if Mackup is installed correctly:

    mackup --version

If everything is set up properly, you should see the version number of Mackup.

Configuration

Before using Mackup, you need to configure it to point to your cloud storage. Here's how:

  1. Create a Configuration File:

    Mackup uses a configuration file called .mackup.cfg. This file should be located in your home directory. You can create one by running:

    touch ~/.mackup.cfg
  2. Edit the Configuration File:

    Open the .mackup.cfg file in your favorite text editor and specify your preferred cloud service. Here’s an example configuration for Dropbox:

    [storage] engine = dropbox

    You can replace dropbox with google_drive, git, etc., based on your choice of storage.

Here's an example of how I have my .mackup.cfg file set up. I'm using Git as my cloud storage, and I've synced my dotfiles to the dotfiles directory in my private dotfiles Git repository.

[storage] engine = file_system path = /Users/USER/Git/dotfiles directory = dotfiles [applications_to_sync] affinity-photo alt-tab bartender bash btop eslint git git-hooks homebrew httpie iina inkscape iTerm2 jsbeautifier jshint kitty littlesnitch mackup npm npmrc oh-my-fish oh-my-tmux pip ripgrep skhd ssh sublime-merge surge tmux tmuxinator tmuxp transmit vim vscode yabai zed zsh

Usage

Once installed and configured, using Mackup is straightforward. You can back up your application settings or restore them with a single command.

Backing Up

To back up your application settings, simply run:

mackup backup

This command will save all the configurations defined in the .mackup.cfg file.

Restoring

To restore your settings on a new machine or after reinstalling macOS, use:

mackup restore

Mackup will retrieve your saved configurations and apply them accordingly.

Common Commands

  • Backup: mackup backup – Backs up application settings.
  • Restore: mackup restore – Restores application settings from backup.
  • List Applications: mackup list – Displays a list of supported applications.
  • Status: mackup status – Shows the status of your backup.

Troubleshooting

If you encounter issues while using Mackup, consider the following steps:

  • Ensure that your cloud storage is correctly set up and accessible.
  • Check the .mackup.cfg file for any typos or errors.
  • If an application isn’t backing up correctly, check if it’s supported by Mackup.

To see what applications are supported by Mackup, refer to the list of supported applications.

Conclusion

Mackup, a must-have tool for macOS developers, automates backup and restore of all your app settings. Saving mad time and ensuring consistent configurations across multiple devices. Enjoy homies!