“Your disk is almost full.” On a developer’s Mac, the culprit is rarely photos. It’s a dozen caches and build folders that each made sense at the time. This checklist goes from biggest-and-safest to most situational. Measure first, then delete.
1. Project build folders
Every project you’ve ever cloned keeps its dependencies and build output: node_modules, Rust target, Flutter build and .dart_tool, Swift .build, Python tool caches, Gradle and Maven output. Across a few years of side projects, this is often the single largest category.
- Command line: delete all node_modules folders, plus
cargo cleanandflutter cleanper project. - One pass: Gigaflush scans a folder for all of these at once, shows sizes, and removes the ones you choose. It lives in the menu bar for exactly this moment.
2. Xcode
Xcode is the usual heavyweight if you build for Apple platforms.
Simulator runtimes themselves can be removed in Xcode → Settings → Components (or Platforms, depending on your Xcode version).
3. Docker
Docker Desktop keeps images, containers, volumes and build cache inside one virtual disk that rarely shrinks on its own.
4. Package manager caches
These are global caches, separate from your projects’ node_modules. Clearing them is safe but means re-downloading later.
5. Everything else worth a look
- Old Node versions in your version manager (
~/.nvm/versions,~/.volta,~/.fnm), and old Rust toolchains (rustup toolchain list). - Android SDK images in
~/Library/Android/sdk/system-imagesif you’ve tried many emulator versions. - iOS device backups under
~/Library/Application Support/MobileSync/Backup, which are huge. Manage them from Finder. - Downloads. Yes, really. Old
.dmginstallers add up.
A routine that keeps it away
Once a month: clean project build folders for anything you haven’t touched, run xcrun simctl delete unavailable, brew cleanup and docker system prune. That’s ten minutes, and it usually keeps “System Data” from creeping back.