Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function brew-list-with {
- for package in $(brew list)
- do
- brew info "$package"
- done | grep -B 1 -E '^ Built.*with:'
- }
- function brew-leaves {
- comm -13 \
- <(
- for package in $(brew list)
- do
- brew deps --include-build "$package"
- done | sort -u
- ) \
- <(brew list | sort)
- }
- function brew-trim {
- dirty='0'
- for package in $(brew-leaves)
- do
- read -r -p "Uninstall $package [y/N]" uninstall
- if [ "$uninstall" == 'y' ]
- then
- dirty='1'
- brew uninstall "$package"
- fi
- done
- if [ "$dirty" != '0' ]
- then
- echo 'Redoing with the (potentially) new leaves!'
- brew-trim
- fi
- }
- function brew-reinstall-order {
- for package in $(brew list)
- do
- for dependency in $(brew deps --include-build $package)
- do
- echo "$dependency" "$(brew deps --include-build $dependency | tr '\r\n' ' ')"
- done
- done \
- | awk 'NF == 1 {print $1, $1} NF > 1 {for (n=1; n<=NF; n++) print $1, $n}' \
- | tsort \
- | tail -r
- }
- function brew-dist-upgrade {
- (
- set +e
- for reinstallable in $(brew-reinstall-order)
- do
- brew reinstall "$reinstallable"
- done
- )
- }
- function brew-upgrade {
- brew update
- brew outdated
- read -r -p 'Enter to go, ^C to not go'
- (
- set +e
- brew upgrade
- brew cleanup -s
- brew prune
- brew tap --repair
- )
- brew doctor
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement