Backups cost storage. Storage costs money. Most Macs carry gigabytes of files that rebuild themselves every day — caches, build artefacts, derived data. Excluding them is not cheating. It is hygiene.
Why exclusions matter
macup stores every file in content-defined chunks and deduplicates across the entire repository. Duplicate content costs almost nothing. Churn does.
A cache that rewrites itself every hour looks to the backup engine like thousands of new chunks every day. You pay for the upload, you pay for the storage of the revision history, and you pay for the compute to scan and chunk it. Exclude the cache and all three costs disappear. The cache rebuilds on restore anyway — that is what caches do.
The default list
macup ships a conservative default exclusion list tuned for Mac developers and creators:
~/Library/Caches/**— app caches~/Library/Logs/**— app logs~/Library/Developer/Xcode/DerivedData/**— Xcode build intermediates~/**/node_modules/**— npm/pnpm/yarn dependencies~/Downloads/*.dmg— installer disk images.Trashes/**— trashed items.DS_Store— Finder metadata
These are defaults, not opinions. You keep your actual Downloads folder by default — we do not assume you never save anything worth keeping there.
Step 1 — Open Exclusions
Go to macup > Preferences > Exclusions. The left pane lists rules; the right pane shows a live preview.
Step 2 — Choose global or per-set
Global rules apply to every backup set on this Mac. Per-set rules apply only to the set you pick from the dropdown.
When to use global
Defaults, anything you never want backed up anywhere — credentials directories, scratch folders, personal preference.
When to use per-set
When one set needs different rules. Your continuous-cloud set might exclude a 200 GB video scratch folder that your nightly-external set wants to include. Per-set wins over global for that set only.
Step 3 — Add a rule
Click Add rule. Enter a glob pattern or an exact path:
**/*.bak— any file with a.bakextension anywhere~/Work/scratch— one specific folder~/**/Render Cache/**— any folder named Render Cache at any depth
Paste works. Drag-and-drop a folder from Finder works. The UI validates the pattern as you type.
Step 4 — Preview before committing
Click Preview matches. macup scans your sources and shows exactly which files the rule would skip, with sizes. This is the step that saves you from accidentally excluding your whole Documents folder with a misplaced **. Always preview before you save.
Step 5 — Common patterns worth adding
Beyond the defaults, the patterns most people add:
~/**/Render Cache/**— DaVinci Resolve, Final Cut, Premiere all write large render caches~/Library/Application Support/Adobe/Common/Media Cache Files/**— Adobe’s shared media cache~/Movies/**/*.fcpbundle/Render Files/**— Final Cut render files~/**/.venv/**and~/**/venv/**— Python virtual environments~/**/target/**— Rust build output~/**/.next/**— Next.js build output- Logic Pro Bounces folders if you consider bounces re-creatable output
What not to exclude
A short list of things people sometimes exclude and then regret:
- Your passwords database. Excluded by no one, excluded by mistake by a few. Do not.
- Your iCloud Drive folder. It is a folder with real files, not magic. Exclude it and a broken iCloud account becomes a data-loss event.
- Your Desktop. Yes, it is messy. It is also where the half-finished draft lives.
.rbenv/versions,.nvm,.asdfand friends. Excluding them saves a modest amount of space. Restoring to a new Mac without them loses you an afternoon of version juggling.
When in doubt, keep it in the backup. Storage is cheaper than your time.