
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.
23 lines
797 B
Bash
Executable File
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
|