
Homebrew Cask – CLI workflow for the administration of Mac binaries - dmmalam
https://github.com/phinze/homebrew-cask
======
tbrock
I'm constantly impressed with Homebrew. The team that maintains it always
outdoes themselves when it comes to building new things to make using software
on a Mac the best experience possible.

On top of that, every single interaction I've had with the project through
Adam, Mike, Misty, etc has been a downright pleasure.

I wish there was a simple way to donate to the Homebrew project (besides the
kickstarter for brewbot). I've checked out this thread on Github but it seems
closed:
[https://github.com/Homebrew/homebrew/issues/20482](https://github.com/Homebrew/homebrew/issues/20482)

If the devs are reading this, consider setting up a link even if it is just to
get you all a few beers.

~~~
phinze
Amen to that! Our project is actually independent of the Homebrew team, but we
very much model ourselves on the great work they're doing.

------
fanquake
Cool to see this up on Hacker News. The project has been growing quite a lot
over the past few months.

We've expanded from managing the installation of just apps, to now include
support for installing Font's, Widgets and QuickLook Plugins.

We've now also got separate repos for alternate app versions as well as fonts,
you can find them @
[https://github.com/caskroom/](https://github.com/caskroom/)

If anyone has questions we're normally hanging out in #homebrew-cask on
Freenode

------
Corrado
The only "downside" that I see at the moment is that it doesn't recognize apps
that are installed in another way. Given that I've installed most of the
software that I need already it makes Cask much less useful to me. If there
was some way to let Cask scan your system and know that I've already installed
google-chrome and adium that would be cool.

Quite a few of the apps I use (iTerm2, ST3, Chrome, Adium, etc.) update
themselves periodically. I wonder how Cask deals with that?

~~~
phinze
> Quite a few of the apps I use (iTerm2, ST3, Chrome, Adium, etc.) update
> themselves periodically. I wonder how Cask deals with that?

Sparkle-based self-updating apps will self-update in place. For apps like
that, the current policy is to have a Cask version of 'latest', and letting
the apps self update.

I've been doing this for some time and I've found it works out AOK. It's nice
to be able to click the "Update & Relaunch" and know I'm not messing anything
up. :)

------
SmileyKeith
There are a few things I don't like about this homebrew-cask. My biggest issue
currently, now that the installation path can be specified as /Applications
instead of ~/Applications[0], is that it makes a symbolic link from its
install location to the Applications folder. Since the standard for GUI
applications on OS X is to have some built in update system, I just want the
applications to be copied to my install location and left alone. This means it
would only automate the install process which I think would be better then
managing their lifecycle.

[0]: [https://github.com/phinze/homebrew-
cask/blob/master/USAGE.md...](https://github.com/phinze/homebrew-
cask/blob/master/USAGE.md#options)

~~~
actionscripted
I believe if you're going the Homebrew route you're accepting the cask's
versions of things as a means to synchronize installations. This could be
handle for teams that need to be using the same versions of specific libraries
or apps, system administrators who want to manage upgrades paths, etc.

It could also be as simple as "that's the way it works because that's how
homebrew works". It's all symlinks, and I personally am a fan because if I
want to cleanup what's been done with Homebrew it's very easy.

I do completely understand your point, and agree to a certain extent, but I'm
sure there are situations where you wouldn't want things simply copied and
left to run/update on their own.

~~~
SmileyKeith
I don't think this synchronizes installations since the forumla[0] are
overwritten with each update. If someone updates one of them the specific
version you downloaded elsewhere will not be downloaded again. I definitely
understand why homebrew works this way, but the logic for symlinking the
applications is all in this extension[1] so this could easily be changed. I
agree that symlinks is better for tools typical to homebrew but for this it's
not like it symlinks your preference files so you're not actually cleaning up
any junk if you uninstall the application through cask, it's the equivalent of
just dragged it to the trash. Also the applications will still attempt to
update so it's not managing versions that way either.

[0]: [https://github.com/phinze/homebrew-
cask/tree/master/Casks](https://github.com/phinze/homebrew-
cask/tree/master/Casks) [1]: [https://github.com/phinze/homebrew-
cask/blob/master/lib/cask...](https://github.com/phinze/homebrew-
cask/blob/master/lib/cask/artifact/app.rb#L20)

------
follower
The README summary is a little clearer than the link title: "Get the elegance,
simplicity, and speed of Homebrew for the installation and management of GUI
Mac applications such as Google Chrome and Adium."

------
zhemao
Speaking of which, is anyone working on allowing Homebrew itself to do binary
package management? The lack of binary package management is one of the main
reasons I give when people ask me why I mainly use Linux on my Macbook Air. I
understand this will add the complication of needing to host the binaries
somewhere, but it would be quite useful, since some packages take a long time
to compile.

~~~
meikyo
It already has this kind of functionality, it is called bottles and most of
the bigger packages like Qt are already available as binaries. Recently I've
noticed that some of the smaller ones are also becoming available which is
nice.

~~~
zhemao
Oh cool! I did not know that. I'll still be sticking to Arch Linux though. I'd
have a hard time adapting to using a non-tiling window manager full time.

~~~
bwilliams
I moved from a tiling WM to OS X a few years back with no big issues. Even
then there are partial solutions such as
[https://github.com/ianyh/Amethyst](https://github.com/ianyh/Amethyst)

------
zachpendleton
I've used Cask for a few months now and it's been great as promised.
Developers are responsive and accepted my formula additions quickly.

So glad to see it on HN; can't recommend it enough.

------
DEinspanjer
Trying it out, and pretty happy so far, but I also have a lot of applications
that I've previously installed manually, and I'm finding it tedious to install
via cask then delete from /Applications and hope everything migrates over
properly. It is more challenging with stuff like iStat-Menus which I'm really
not sure how to migrate.

------
ashishb
I wrote about Cask as well as other tools sometimes back,
[http://ashishb.net/tech/mac-101-migrating-from-gnulinux-
to-m...](http://ashishb.net/tech/mac-101-migrating-from-gnulinux-to-mac-for-
software-engineers/)

------
pyotrgalois
I have been using this for the last month. Very useful, especially the
Brewfile.

------
elyase
Is there some way to also automate installs from the App Store?

~~~
phinze
Alas there is not AFAIK. For all the research I've done on this, the only
conclusion I've been able to draw is that the MAS is anti-automation (if not
in intent, at least in its current design). :(

