Skip to content

Instantly share code, notes, and snippets.

@noeGnh
Created June 25, 2025 16:22
Show Gist options
  • Save noeGnh/c8943a28d65cf70ac8bf9b552852ed1c to your computer and use it in GitHub Desktop.
Save noeGnh/c8943a28d65cf70ac8bf9b552852ed1c to your computer and use it in GitHub Desktop.

🧹 Developer’s Guide to Freeing Up Disk Space on macOS

This guide is designed for developers who want to clean up gigabytes of unnecessary files from their Mac, safely and effectively — without wrecking their dev environment.


📦 Summary

Location Description Safe to Delete
~/Downloads Old files, DMGs, ZIPs
~/Library/Caches/ App caches
~/Library/Logs/ Log files
~/Library/Developer/ Xcode junk (archives, device support, simulators) ✅ (selectively)
~/Library/Android/sdk/ Emulators, system images, old SDKs ✅ (selectively)
~/.gradle/ Gradle cache
~/.npm/ NPM cache
~/Library/pnpm/ pnpm store
~/Library/Application Support/ Data from removed apps ⚠️ selectively
~/Library/Containers/ App sandbox storage ⚠️ selectively
~/Library/Logs/DiagnosticReports/ Crash logs
~/Trash Your trash bin

✅ Safe Cleanup Commands

1. Clear System Caches

rm -rf ~/Library/Caches/*
rm -rf ~/Library/Logs/*

2. Clean Trash

rm -rf ~/.Trash/*

3. Remove Xcode Simulator Junk

xcrun simctl delete unavailable
rm -rf ~/Library/Developer/Xcode/Archives/*
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport/*
rm -rf ~/Library/Developer/CoreSimulator/Devices/*

4. Clean Android SDK Garbage

rm -rf ~/Library/Android/sdk/emulator/*
rm -rf ~/Library/Android/sdk/system-images/*
rm -rf ~/Library/Android/sdk/ndk/*
rm -rf ~/Library/Android/sdk/sources/*
rm -rf ~/Library/Android/sdk/patcher/*
rm -rf ~/Library/Android/sdk/extras/*

5. Clean Gradle Cache

rm -rf ~/.gradle/caches/
rm -rf ~/.gradle/daemon/
rm -rf ~/.gradle/wrapper/

6. Clean npm Cache

npm cache clean --force
rm -rf ~/.npm

7. Clean pnpm Store

pnpm store prune
# or fully reset:
rm -rf ~/Library/pnpm

🧠 Optional Manual Cleanup

Application Support

ls -lh ~/Library/Application\ Support/

Containers

ls -lh ~/Library/Containers/

🛠 Bonus Tips

  • Disk Usage Overview:
du -sh ~/* ~/Library/* ~/.*
  • Time Machine Snapshots (if APFS):
sudo tmutil listlocalsnapshots /
sudo tmutil deletelocalsnapshots <snapshot-date>
  • Homebrew Cleanup:
brew cleanup
  • Docker Cache Cleanup:
docker system prune -a

⚠️ Do Not Touch These

Path Reason
/System Protected by macOS (SIP)
/Library Shared system resources
~/Library/Keychains/ Contains sensitive credentials
~/Library/Preferences/ Touch only if you know what you're doing

🧨 One-Liner: Aggressive Developer Clean-up Script

#!/bin/bash
echo "🧹 Starting Developer Cleanup..."
rm -rf ~/Library/Caches/* ~/Library/Logs/* ~/.Trash/*
rm -rf ~/.npm ~/.gradle ~/Library/pnpm
rm -rf ~/Library/Developer/Xcode/Archives/*
rm -rf ~/Library/Developer/Xcode/iOS\ DeviceSupport/*
rm -rf ~/Library/Developer/CoreSimulator/Devices/*
rm -rf ~/Library/Android/sdk/{emulator,system-images,ndk,sources,patcher,extras}
echo "✅ Done."

🧭 Need More Help?

Use tools like:

  • GrandPerspective
  • DaisyDisk
  • Storage Management from macOS

🧊 Final Words

Freeing up space isn’t just about deleting files — it’s about reclaiming control of your dev environment. Run this cleanup monthly to keep your Mac fast, light, and sane.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment