brewcleaner
v1.1.0
Published
Clean up lingering brew dependencies
Downloads
6
Readme
brewcleaner
Clean up old Homebrew dependencies
Why?
One day you'll realized you downloaded too much from Homebrew and possibly have sediment from larger brews that linger in your system.
Usage
# Install via NPM
$ npm install -g brewcleaner
# To list brews with undepended brews
$ brewcleaner run
[!] Using brew_whitelist.json as whitelist...
[•] The following are deemed loose ends...
[!] cloc erlang glib libyaml ruby-build speedtest_cli
[!] If you want to remove them, run with --remove flag
[✓] Finished
# You can supply a json file of whitelisted brews to ignore in output.
# whitelist.json = { "ruby-build": true, "speedtest_cli": true }
$ brewcleaner run whitelist.json
[!] Using whitelist.json as whitelist...
[•] The following are deemed loose ends...
[!] cloc erlang glib libyaml
[!] If you want to remove them, run with --remove flag
# Note: Without a file, it will by default check for 'brew_whitelist.json'
# To execute removal as well
$ brewcleaner run --remove whitelist.json
[!] Using whitelist.json as whitelist...
[•] The following are deemed loose ends...
[!] cloc erlang glib libyaml
[•] Now removing brews...
[!] glib cleaned!
[!] erlang cleaned!
[!] cloc cleaned!
[!] libyaml cleaned!
[✓] All clean! Fabulous!
Warning: If an invalid file if given with the --remove
flag, the program
will not remove the brews. You can overwrite that behavior by providing
--force
, but understand that it will probably remove way more than you asked
for...
Example whitelist
Whitelist is just JSON with keys as the brew name. Value can be arbituary
{
"cmake": true,
"ffmpeg": true,
"vim": true
}
Notes
- It is possible you need to run it multiple times as it may remove a brew that had dependencies and you may not need them anymore (Add prompt for recursive call?)
License
brewcleaner is released under the MIT License.