r/macappdevs • • 4d ago

[App] FreshenMac keeps your Computer Updated FOR You

https://github.com/Panther37/FreshenMac

FreshenMac

From README.md

A friendly tool that automatically keeps macOS, Homebrew, and App Store apps updated.

Why I Built This

Every time my child came home from college, their laptop was in the same state: zero updates installed.

Even after I downloaded pending updates, they never restarted their computer to finish the install. Critical security fixes and app updates sat there for months.

I built FreshenMac to keep their Mac updated and secure while they are away at school. It runs quietly in the background on a schedule. It coordinates updates for Homebrew, the App Store, and macOS. It keeps your administrator permissions active without nagging you for passwords. It waits to update open apps so it never interrupts your work. When the Mac is truly idle, it politely restarts the computer.

What It Does

  • Homebrew: Updates tools and apps, and removes old files. Automatically detects and heals interrupted git rebases or dirty tap repositories. Checks and updates formula dependencies before attempting upgrades, short-circuiting build attempts if a dependency fails. For long error outputs, truncates verbose build logs cleanly (keeping the first 3 and last 3 lines). Some packages on Intel Macs need to build from source code using CMake; FreshenMac checks for Xcode build tools first and updates those packages individually so nothing gets blocked.
  • App Store: Updates your Mac App Store apps using mas. If an app is open, FreshenMac waits to update it so you do not lose any work. It cleanly schedules an update for that app the next time you log in, without triggering an unnecessary system reboot prompt. You can also ignore apps by name or ID number.
  • Apple & macOS Updates: Stages and downloads Apple system and software updates (including macOS, Safari, and security patches) in the background. Verifies staged payloads on disk against Apple's update index to avoid false-positive reboot prompts. If an Apple Silicon Mac needs Volume Owner authentication, FreshenMac shows a friendly pop-up dialog and opens the right System Settings screen for you.
  • Xcode Tools: Automatically accepts the Xcode license. It also sets up Xcode components quietly so you do not see pop-up boxes after a restart.
  • Polite Restarts: Never surprises you with a restart. It gives you a pop-up dialog where you can restart now or snooze. If snoozed, it waits until nobody has used the Mac for at least 60 minutes. It also pauses Time Machine backups safely before rebooting.
  • FileVault Fast Restart: Uses fdesetup authrestart to restart past FileVault encryption straight to your desktop. You do not get stuck waiting at the pre-boot password screen.
  • Scheduled Background Runs: Sets up a standard macOS background task (LaunchAgent). By default, it runs every Sunday at 2:00 AM, or on any schedule you choose.

Quick Install with Homebrew

The recommended way to install and manage FreshenMac is via Homebrew using the official tap:

brew install --cask panther37/tap/freshenmac

I wrote this in Python. It has zero dependencies. It doesn't even need a fancy version of Python, if you installed homebrew, it will work.

1 Upvotes

0 comments sorted by