Homebrew Package Update Notifications on Mountain Lion
#!/bin/bash | |
# | |
# Notify of Homebrew updates via Notification Center on Mac OS X | |
# | |
# Author: Chris Streeter http://www.chrisstreeter.com | |
# Requires: terminal-notifier. Install with: | |
# gem install terminal-notifier | |
TERM_APP='/Applications/Terminal.app' | |
BREW_EXEC='/usr/local/bin/brew' | |
TERMINAL_NOTIFIER=`which terminal-notifier` | |
NOTIF_ARGS="-activate com.apple.Terminal" | |
$BREW_EXEC update 2>&1 > /dev/null | |
outdated=`$BREW_EXEC outdated | tr ' ' '\n'` | |
if [ -z "$outdated" ] ; then | |
if [ -e $TERMINAL_NOTIFIER ]; then | |
# No updates available | |
$TERMINAL_NOTIFIER $NOTIF_ARGS \ | |
-title "No Homebrew Updates Available" \ | |
-message "No updates available yet for any homebrew packages." | |
fi | |
else | |
# We've got an outdated formula or two | |
# Nofity via Notification Center | |
if [ -e $TERMINAL_NOTIFIER ]; then | |
lc=$((`echo "$outdated" | wc -l`)) | |
outdated=`echo "$outdated" | tail -$lc` | |
message=`echo "$outdated" | head -5` | |
if [ "$outdated" != "$message" ]; then | |
message="Some of the outdated formulae are: | |
$message" | |
else | |
message="The following formulae are outdated: | |
$message" | |
fi | |
# Send to the Nofication Center | |
$TERMINAL_NOTIFIER $NOTIF_ARGS \ | |
-title "Homebrew Update(s) Available" -message "$message" | |
fi | |
fi |
This comment has been minimized.
This comment has been minimized.
Thanks! |
This comment has been minimized.
This comment has been minimized.
Alternatively you could do |
This comment has been minimized.
This comment has been minimized.
I've extended the script to exclude pinned formulae in the list of outdated formulas: |
This comment has been minimized.
This comment has been minimized.
I wanted to include this in our laptop setup script, so I enhanced it with a simple cron job "installer" and made it a real project repository: https://github.com/grantovich/homebrew-notifier Thanks to @streeter for approving the open-source license! |
This comment has been minimized.
This comment has been minimized.
Added some new features on my forked version. macOS High Sierra Thanks @streeter. Great script. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
Works great, thanks for the gist! One fix: line 7 should be
# gem install terminal-notifier