archy/MAC-CLEANUP-GUIDE.md

181 lines
4.4 KiB
Markdown
Raw Normal View History

# Mac Development Setup - What You Need
## Current Situation
You develop Archipelago on a **remote Debian server** (192.168.1.228), not locally on your Mac.
Your Mac is used for:
-**Editing code** (VSCode/Cursor)
-**Git operations** (commit, push, pull)
-**Deploying to remote** (`deploy-to-target.sh`)
-**Building ISOs** (occasionally)
Your Mac is NOT used for:
- ❌ Running containers locally
- ❌ Building Rust locally
- ❌ Running the backend locally
- ❌ Running the frontend dev server locally
## Disk Usage Analysis
### 🔴 Can Delete (Total: ~66 GB)
1. **Docker Desktop: 53 GB**
- You're not running containers locally
- All containers run on 192.168.1.228
- Safe to completely uninstall
2. **Rust Build Cache: 1.6 GB** (`core/target/`)
- Builds happen on remote server via `deploy-to-target.sh`
- Rust compiler still needed for occasional local builds
- Cache rebuilds automatically
3. **ISO Build Artifacts: 8.6 GB** (`image-recipe/build/`)
- Temporary files from ISO building
- Recreated when you build a new ISO
- Safe to delete
4. **Old ISO Files: ~3 GB** (`image-recipe/results/`)
- Keep latest ISO only (~500MB)
- Delete old versions
### 🟢 Keep These Tools
1. **Rust/Cargo**
- For occasional local builds
- For `deploy-to-target.sh` (builds before deploying)
- Size: ~200 MB
2. **Node.js/npm**
- For frontend builds in `deploy-to-target.sh`
- For editing with IDE autocomplete
- Size: ~100 MB
3. **Git**
- Version control
- Essential
4. **SSH**
- Remote server access
- Essential for deployment
### ⚠️ Optional (You Choose)
1. **Podman** (~100 MB)
- Currently installed but not used
- Could remove: `brew uninstall podman`
- You use Podman on the *remote server*, not locally
2. **xorriso, p7zip** (ISO build tools)
- Only needed if building ISOs locally
- Can reinstall when needed: `brew install xorriso p7zip`
## Recommended Setup
### Minimal Mac Setup (Recommended)
```
✅ VSCode/Cursor (code editing)
✅ Git (version control)
✅ SSH (remote access)
✅ Rust/Cargo (for deploy script)
✅ Node.js/npm (for deploy script)
✅ One latest ISO file (~500 MB)
❌ NO Docker Desktop
❌ NO local containers
❌ NO build artifacts
```
**Total disk usage: ~500 MB + source code**
### Your Development Workflow
```bash
# 1. Edit code locally on Mac
vim core/archipelago/src/...
vim neode-ui/src/...
# 2. Deploy to remote server
./scripts/deploy-to-target.sh --live
# 3. Test on remote server
open http://192.168.1.228
# 4. Check logs (if needed)
ssh archipelago@192.168.1.228 'sudo journalctl -u archipelago -f'
# 5. Build ISO (when needed)
cd image-recipe
./build-debian-iso.sh # Only when making a release
```
## Cleanup Instructions
### Quick Cleanup (Run This Now)
```bash
cd /Users/dorian/Projects/archy
./cleanup-mac.sh
```
This removes:
- Rust build cache
- ISO build artifacts
- Old ISO files
**Saves: ~13 GB**
### Complete Cleanup (Optional)
1. **Uninstall Docker Desktop** (53 GB)
```bash
# Option 1: Using the app
# Open Docker Desktop → Troubleshoot → Uninstall
# Option 2: Manual removal
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/Library/Application\ Support/Docker\ Desktop
rm -rf ~/.docker
brew uninstall --cask docker
```
2. **Remove Podman** (if not used)
```bash
brew uninstall podman
```
3. **Remove ISO build tools** (if not needed)
```bash
brew uninstall xorriso p7zip
```
**Total savings: ~66 GB**
## FAQ
**Q: Will this break my development workflow?**
A: No! You'll still be able to edit code and deploy. Build artifacts regenerate automatically.
**Q: What if I need to build locally?**
A: The tools (Rust, Node) remain installed. Only the cached artifacts are removed.
**Q: What about Docker containers?**
A: All containers run on the remote server (192.168.1.228), not locally.
**Q: Can I rebuild ISOs after cleanup?**
A: Yes! Just run `./build-debian-iso.sh` - it will recreate the build artifacts.
**Q: What if I delete too much?**
A: The cleanup script is conservative. Everything removed can be regenerated.
## After Cleanup
Your Mac will have:
- ✅ 66+ GB free disk space
- ✅ Fast, lean development environment
- ✅ All source code intact
- ✅ Full development capabilities
- ✅ Latest ISO ready to flash
Your workflow remains the same:
```
Edit → Deploy → Test (on remote) → Commit
```