MacSync

Easy sync for macOS. Dotfiles, folders, configs — anything.

Sync files across Macs using Dropbox, iCloud, Google Drive, OneDrive, NAS, or any folder that syncs between devices.

License Release macOS Homebrew

Why MacSync?

☁️

Any Cloud Service

Works with Dropbox, iCloud, Google Drive, OneDrive, Yandex.Disk, NAS — any folder that syncs.

🔗

Symlink Magic

Files stay in sync folder, symlinks in their place. Edit on one Mac — changes appear everywhere.

💾

Automatic Backups

Original files backed up before any changes. Restore anytime with one command.

Simple Config

One config file. List what to sync. Run one command. Done.

🛡️

Safe & Reversible

Disable sync anytime. Files restored to original locations automatically.

🍺

Homebrew Ready

Install with one command via Homebrew. Updates delivered automatically.

How It Works

Local ~/.zshrc symlink
Sync Folder ~/Dropbox/MacSync/dotfiles/.zshrc real file
  1. Backup — Original files saved to _Backup_default_config/
  2. Move — Files relocated to <SYNC_FOLDER>/dotfiles/
  3. Link — Symlinks created at original paths

Quick Start

1

Install

brew install pilaton/tap/macsync
2

Configure

Edit ~/.macsync/config.cfg:

# Where to store synced files
SYNC_FOLDER=~/Dropbox/MacSync

# What to sync
BACKUP_FILES=(
  .zshrc
  .gitconfig
  .config/nvim
  .ssh/config
)
3

Run

macsync

That's it! Your files are now synced.

CLI Reference

Command Description
macsync Interactive mode
macsync --dry-run Preview without changes
macsync --sync-folder ~/path Override sync folder
macsync --files ".zshrc,.gitconfig" Override file list
macsync --verbose Detailed output
macsync --quiet Minimal output
macsync --help Show help

FAQ

Can I sync files outside ~?

No, MacSync only works with paths relative to home directory.

What if I delete a file from sync folder?

Symlink breaks. Use "Disable sync" or restore from backup.

Is it safe for sensitive files?

Avoid syncing private keys. Use .ssh/config with caution. Ensure your cloud encrypts data.

What are the requirements?

macOS 10.15+ (Catalina), zsh, rsync.