brew/Library/Contributions/cmd/brew-cleanup-installed
Mike McQuaid e62ad08af8 brew-cleanup-installed: add new external command.
brew-cleanup-installed: uninstall all non-whitelisted Homebrew formulae.

Useful for maintainers/testers who regularly install lots of formulae
they don't actually use.

Populate ~/.brew-cleanup-installed with the formulae you want to keep
installed. All others will be uninstalled when brew-cleanup-installed is run.
2013-06-29 13:27:18 +01:00

23 lines
797 B
Bash
Executable File

#!/bin/sh
# brew-cleanup-installed: uninstall all non-whitelisted Homebrew formulae.
#
# Useful for maintainers/testers who regularly install lots of formulae
# they don't actually use.
#
# Populate ~/.brew-cleanup-installed with the formulae you want to keep
# installed. All others will be uninstalled when brew-cleanup-installed is run.
# Exit on any command failures
set -e
BREW_CLEAN_WHITELIST=~/.brew-cleanup-installed
# Do nothing and exit if the file doesn't exist.
[ -s $BREW_CLEAN_WHITELIST ]
BREW_LIST=$TMPDIR/brew-installed-list
# comm needs both lists to be sorted so ensure the dotfile is sorted first.
sort --unique ~/.brew-cleanup-installed --output ~/.brew-cleanup-installed
brew list > $BREW_LIST
comm -13 $BREW_CLEAN_WHITELIST $BREW_LIST | xargs brew uninstall
rm $BREW_LIST