Streamline Your macOS Maintenance with mole, topgrade, and mactop

Maintaining a macOS system can be tedious, especially when juggling multiple tools for updates, monitoring, and cleanup. Fortunately, open-source tools like mole, topgrade, and mactop can automate and simplify these tasks. In this article, I’ll walk you through how to use these tools to keep your Mac running smoothly.


Why Automate macOS Maintenance?

Regular maintenance is crucial for performance, security, and stability. However, manually checking for updates, cleaning caches, and monitoring system resources is time-consuming. Automating these tasks with the right tools saves time and reduces the risk of overlooking critical updates or issues.


1. mole: A Modern CLI Tool for macOS Updates

mole is a command-line tool designed to simplify macOS software updates. It provides a clean, interactive interface for managing updates from the App Store, Homebrew, and other package managers.

Key Features

  • Unified Update Management: Check and install updates for macOS, App Store apps, and Homebrew packages in one place.
  • Interactive Mode: Review available updates before applying them.
  • Non-interactive Mode: Ideal for scripting or automated workflows.

Installation

brew install davrodpin/tap/mole

Basic Usage

To check for updates:

mole

To update all packages non-interactively:

mole --all

Why Use mole?

  • Simplicity: No need to open the App Store or run multiple commands.
  • Transparency: See what’s being updated before proceeding.

2. topgrade: The Ultimate Upgrade Automation Tool

topgrade takes automation further by updating everything on your system—from package managers (Homebrew, npm, pip) to macOS itself. It’s highly customizable and supports a wide range of tools.

Key Features

  • Comprehensive Updates: Handles macOS, Homebrew, npm, pip, and more.
  • Customizable: Configure which tools to update via a simple TOML file.
  • Dry Run Mode: Preview updates before applying them.

Installation

brew install topgrade

Basic Usage

Run topgrade to update everything:

topgrade

To simulate updates without applying them:

topgrade --dry-run

Why Use topgrade?

  • One Command to Rule Them All: Update your entire system with a single command.
  • Safety: Dry run mode lets you review changes before they’re applied.

3. mactop: Real-Time System Monitoring

mactop is a htop-like system monitor for macOS, providing real-time insights into CPU, memory, and process activity.

Key Features

  • Real-Time Monitoring: Track CPU, memory, and network usage.
  • Process Management: Sort and kill processes directly from the interface.
  • Customizable Display: Tailor the UI to show the metrics you care about.

Installation

brew install mactop

Basic Usage

Launch mactop to monitor your system:

mactop

Why Use mactop?

  • Lightweight: No heavy GUI required.
  • Powerful: Get detailed system stats at a glance.

Putting It All Together

Example Workflow

  1. Check for Updates:
    mole
    
  2. Update Everything:
    topgrade
    
  3. Monitor System Health:
    mactop
    

Automating with Cron

To automate daily updates, add the following to your crontab:

0 8 * * * /usr/local/bin/topgrade --no-retries

Final Thoughts

Combining mole, topgrade, and mactop creates a robust maintenance workflow for macOS. These tools reduce manual effort, ensure your system stays up-to-date, and provide real-time visibility into performance.

  • For Updates: Use mole for interactive control or topgrade for full automation.
  • For Monitoring: mactop is your go-to for real-time system insights.

Further Reading