ThingyMaJig

Thingy Ma Jig is the blog of Nicholas Thompson and contains any useful tips, sites and general blog-stuff which are considered interesting or handy!

Connect

LinkedIn GitHub

Topics

announcement 25 apache 3 Apple 1 bash 8 code 7 cool 30 Days Out 8 Dark Basic Pro 4 design 12 doctor who 1 Drupal 74 E4600 1 EOS 400D 3 firefox 2 Flickr 3 free 21 games 5 geek 38 git 2 GreaseMonkey 1 hardware 7 Homebrew 1 How to 37 humour 5 iphone 1 javascript 1 jquery 1 K800i 6 k850i 4 lighttpd 3 linux 33 mac 9 miscellaneous 4 mobile phone 9 music 4 mysql 8 n73 1 n95 1 New Relic 1 Ogre3D 1 OS X 2 performance 3 photos 10 programming 40 Quicksilver 1 review 19 security 3 SEO 6 software 12 svn 2 technology 4 tip 7 tips 10 tv 3 video 3 vim 7 webdev 2 websites 33 wii 1 windows 1 YADS 10

Homebrew: List packages and what uses them

Posted on 22 September 2014 in
OS X Homebrew

For anyone that uses Homebrew a lot, its very easy to amasse many casks (installed packages) and never quite know which ones are still needed. I did some googling and found a really interesting blog post by Mark H. Nichols about listing all brew dependencies.

I then decided to invert that logic; to list all my casks, with each one showing what uses it. Anything that has nothing using it is either an oprhaned cask or is something "standalone" which is not installed as a dependency on something else.

NOTE: The script from Mark's website uses zsh; I do not have that, I use plain old Bash. It is still possible to get colours though!

brew list -1 | while read cask; do echo -ne "\x1B[1;34m $cask \x1B[0m"; brew uses $cask --installed | awk '{printf(" %s ", $0)}'; echo ""; done

And some example output:

 apple-gcc42
 atk  gtk+  pygtk
 autoconf  automake  php54-apc  php54-mcrypt  php54-memcache  php54-tidy  tsocks
 automake
 axel
 bison27
 boot2docker
 cairo  gtk+  harfbuzz  pango  py2cairo
 cmake  percona-server55
...
...

And a screenshot:
Screenshot