An open API service indexing awesome lists of open source software.

https://github.com/sn0walice/detox-mac

A fast, cute and clean Rust-based macOS maintenance CLI tool. Think of it as CleanMyMac, but open-source, modular, and no BS.
https://github.com/sn0walice/detox-mac

clean macos rust

Last synced: 3 months ago
JSON representation

A fast, cute and clean Rust-based macOS maintenance CLI tool. Think of it as CleanMyMac, but open-source, modular, and no BS.

Awesome Lists containing this project

README

          

# detox-mac

![](./.github/banner.png)

> A fast, cute and clean Rust-based macOS maintenance TUI tool.
> Think of it as *CleanMyMac*, but open-source, modular, and no BS. 🩀

---

## ✹ Features

### đŸ§č Nettoyage
- Nettoyer les caches utilisateur (`~/Library/Caches`)
- Vider la corbeille (`~/.Trash`) ou toutes les corbeilles (volumes montés inclus)
- Nettoyer les logs (`~/Library/Logs`)
- Supprimer les fichiers `.DS_Store` récursivement
- Nettoyer le cache Homebrew (`brew cleanup --prune=all`)
- Nettoyer les données Xcode (DerivedData, DeviceSupport, Simulateurs)

### đŸ’» SystĂšme
- Afficher les infos systĂšme (CPU, RAM, disque, version macOS, uptime)
- Vérifier les mises à jour macOS (`softwareupdate -l`)
- Lister les apps les plus volumineuses (`/Applications`)
- Détecter les gros fichiers (> 500 Mo dans `~`)
- Flush DNS (`dscacheutil` + `mDNSResponder`)
- Libérer l'espace disque (snapshots Time Machine)
- Réindexer Spotlight (`mdutil -E`)
- Purger la RAM inactive (`purge`)

### 🚀 DĂ©marrage
- Vue détaillée des LaunchAgents/Daemons (label, statut actif/inactif, tag Apple/Tiers)
- Lister uniquement les agents tiers (non-Apple)
- Désactiver/réactiver les agents tiers sans les supprimer (`launchctl unload/load`)
- Supprimer les LaunchAgents utilisateur (avec `launchctl unload` avant suppression)
- Supprimer tous les LaunchAgents/Daemons

### đŸ›Ąïž SĂ©curitĂ© & UX
- **Mode Simulation (dry-run)** : voir ce qui serait fait sans rien modifier
- **Confirmation** avant chaque tĂąche destructive
- **Dashboard au démarrage** : résumé systÚme + espace récupérable (caches, corbeille, logs) + nombre d'agents
- Affichage de la taille avant/aprÚs chaque opération de nettoyage

---

## 🚀 Installation

```bash
git clone https://github.com/youruser/detox-mac.git
cd detox-mac
cargo build --release
cp target/release/detox-mac /usr/local/bin/detox-mac
```

---

## 🔧 Utilisation

Lancez simplement :

```bash
detox-mac
```

L'application s'ouvre en mode TUI interactif avec 4 onglets.

### Raccourcis clavier

| Touche | Action |
|---|---|
| `↑` `↓` / `j` `k` | Naviguer dans les tñches |
| `←` `→` / `Tab` | Changer d'onglet |
| `Entrée` | Exécuter la tùche sélectionnée |
| `Espace` | Cocher/décocher pour exécution groupée |
| `r` | Lancer toutes les tùches cochées |
| `d` | Activer/désactiver le mode simulation |
| `PgUp` / `PgDn` | Scroller le journal |
| `Esc` | Annuler la confirmation / Quitter |
| `q` | Quitter |

### Onglets

| Onglet | Description |
|---|---|
| **Général** | Tùches d'optimisation rapide (caches, corbeille, logs, DNS...) |
| **Nettoyage** | Nettoyage détaillé (Homebrew, Xcode, toutes corbeilles...) |
| **SystĂšme** | Infos, mises Ă  jour, scan d'apps/fichiers, DNS, Spotlight, RAM |
| **Démarrage** | Gestion des LaunchAgents/Daemons (vue, filtre, disable/enable) |

---

## đŸ›Ąïž Sudo

Certaines opérations nécessitent des privilÚges élevés (flush DNS, Spotlight, purge RAM).
Lancez avec sudo si besoin :

```bash
sudo detox-mac
```

Les tùches nécessitant sudo sont marquées `[sudo]` dans l'interface.

---

## đŸ§Ș Mode Simulation

Appuyez sur `d` pour activer le mode simulation. Dans ce mode :
- Aucun fichier n'est supprimé
- Aucune commande systÚme n'est exécutée
- Les tailles et fichiers concernés sont affichés normalement
- Le header et le journal indiquent `[SIMULATION]`

Idéal pour voir ce que l'app ferait avant de lancer pour de vrai.

---

## đŸ—ïž Architecture

```
src/
├── main.rs # Point d'entrĂ©e, boucle d'Ă©vĂ©nements
├── app.rs # État de l'app, onglets, tñches, logique
├── ui.rs # Rendu TUI (ratatui)
└── modules/
├── cache.rs # Nettoyage des caches utilisateur
├── trash.rs # Vidage corbeille (simple + multi-volumes)
├── logs.rs # Nettoyage des logs
├── dsstore.rs # Suppression des .DS_Store
├── homebrew.rs # Nettoyage cache Homebrew
├── xcode.rs # Nettoyage donnĂ©es Xcode
├── system.rs # Commandes systùme (DNS, Spotlight, RAM...)
├── sysinfo.rs # Infos systùme & dashboard
├── scanner.rs # Scan apps volumineuses & gros fichiers
├── launch.rs # Suppression LaunchAgents/Daemons
├── login.rs # Vue dĂ©taillĂ©e, filtre Apple/tiers, disable/enable
└── utils.rs # Utilitaires (tailles, dry-run, wrappers)
```

**DĂ©pendances** : `ratatui`, `crossterm` — rien d'autre.

---

## ❀ Why?

Because we love our Macs, but we don't love bloated cleanup apps.