brew-cleanup-installed: Rubify, make internal cmd.
This commit is contained in:
parent
3b8a6c0724
commit
86ded7833c
@ -1,22 +0,0 @@
|
||||
#!/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
|
||||
20
Library/Homebrew/cmd/cleanup-installed.rb
Executable file
20
Library/Homebrew/cmd/cleanup-installed.rb
Executable file
@ -0,0 +1,20 @@
|
||||
# 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.
|
||||
|
||||
module Homebrew
|
||||
def cleanup_installed
|
||||
cleanup_file = Pathname.new "#{ENV["HOME"]}/.brew-cleanup-installed"
|
||||
return unless cleanup_file.exist?
|
||||
|
||||
kept_formulae = cleanup_file.read.lines.map(&:strip)
|
||||
current_formulae = `brew list`.lines.map(&:strip)
|
||||
uninstall_formulae = current_formulae - kept_formulae
|
||||
return if uninstall_formulae.empty?
|
||||
safe_system "brew", "uninstall", *uninstall_formulae
|
||||
end
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user