Reputation: 31524
Is there a way to obtain a list (possibly with descriptions) of all the casks installable with Homebrew Cask?
Upvotes: 59
Views: 81045
Reputation: 723
The new way to list all installable cask packages is:
brew search --casks '*'
The '*'
(or equivalently \*
) is necessary and is interpreted as a glob that matches all strings. The quotes (or backslash) are necessary to have a literal asterisk passed to brew search
; without them, the shell would glob-expand the *
into all files in the current directory.
The general usage is brew search, -S [options] text|/regex/ [...]
.
The man page for brew has the following information:
search --casks
Display all locally available casks (including tapped ones). No online search is performed.
Upvotes: 58
Reputation: 3078
If you're not interested in installation stats, which you could get by using brew search
answers above, you could simply go with:
grep -e '\(version\|cask\|creator\|desc\|homepage\) ' /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/*.rb
This will get you a list lite this:
zotero.rb:cask "zotero" do
zotero.rb: version "5.0.96.3"
zotero.rb: desc "Collect, organize, cite, and share research sources"
zotero.rb: homepage "https://www.zotero.org/"
zprint.rb:cask "zprint" do
zprint.rb: version "1.2.1"
zprint.rb: desc "Library to reformat Clojure and Clojurescript source code and s-expressions"
zprint.rb: homepage "https://github.com/kkinnear/zprint"
zterm.rb:cask "zterm" do
zterm.rb: version "1.2"
zterm.rb: desc "Terminal emulation program"
zterm.rb: homepage "https://www.dalverson.com/zterm/"
which will be instant, rather than waiting for ages for
for cask in $(brew search ''); do brew info $cask; echo "\n\n"; done
where you'd get prettier results and info regarding popularity:
cobalt: stable 0.17.5 (bottled)
Static site generator written in Rust
https://cobalt-org.github.io/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/cobalt.rb
License: MIT
==> Dependencies
Build: rust
==> Analytics
install: 10 (30 days), 45 (90 days), 147 (365 days)
install-on-request: 10 (30 days), 45 (90 days), 147 (365 days)
build-error: 0 (30 days)
coccinelle: stable 1.1.1 (bottled), HEAD
Program matching and transformation engine for C code
http://coccinelle.lip6.fr/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/coccinelle.rb
License: GPL-2.0-only
==> Dependencies
Build: autoconf, automake, hevea, ocaml-findlib, opam, pkg-config
Required: ocaml, pcre
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 3 (30 days), 22 (90 days), 167 (365 days)
install-on-request: 3 (30 days), 22 (90 days), 167 (365 days)
build-error: 0 (30 days)
Upvotes: 0
Reputation: 1270
Multiple ways to do, collating different answers:
1.
for cask in $(brew search ''); do
brew info $cask; done
brew search --casks
brew search
You could one-line it to put results into file for later (because its really slow querying packages one by one):
for cask in $(brew search ''); do brew info $cask; echo "==="; done > list_of_casks.txt
Upvotes: 2
Reputation: 10970
The installable list is 7000+ casks. You, of course, can grep the result.., but more practical is to list some subset of the installable casks using search
command:
brew search [YOUR-SEARCH-SUBSTRING
]
It will print you 2 groups. The first group will be installable ==> Formulae, if any. The second group will be ==> Casks
For example, if you are looking for Beaver DB browser, you can type either:
brew search Beaver
---- Output ----
==> Casks
dbeaver-enterprise dbeaver-enterprise swiftybeaver swiftybeaver
or:
brew search DB
---- Output ----
==> Formulae
ansible-cmdb dbmate lbdb [email protected] questdb
...
==> Casks
1password-beta dynamodb-local mongodb-compass-readonly
actual-odbc-pack dynamodb-local mongodbpreferencepane
actual-odbc-pack exist-db mongodbpreferencepane
apache-couchdb exist-db navicat-for-mariadb
apache-couchdb flvcd-bigrats navicat-for-mariadb
arq-cloud-backup flvcd-bigrats nosql-workbench-for-amazon-dynamodb
arq-cloud-backup gcollazo-mongodb nosql-workbench-for-amazon-dynamodb
db-browser-for-sqlite gcollazo-mongodb nosqlbooster-for-mongodb
db-browser-for-sqlite handbrake nosqlbooster-for-mongodb
dbeaver-community ✔ handbrake omnidb
dbeaver-community ✔ handbrake-nightly omnidb
dbeaver-enterprise handbrakebatch rekordbox
dbeaver-enterprise handbrakebatch rekordbox
dbglass hex-fiend-beta soundboosterlite
dbglass macgdbp soundboosterlite
dbkoda macgdbp sql-power-architect-jdbc
dbkoda mongodb-compass sql-power-architect-jdbc
dbngin mongodb-compass thingsmacsandboxhelper
dbngin mongodb-compass-beta thingsmacsandboxhelper
dbschema mongodb-compass-community thunderbird-beta
dbschema mongodb-compass-community wireshark-chmodbpf
dbvisualizer mongodb-compass-isolated-edition wireshark-chmodbpf
dbvisualizer mongodb-compass-isolated-edition
deadbeef-devel mongodb-compass-readonly
the ✔
mark indicates installed casks.
Upvotes: 2
Reputation: 87205
There's a new GUI that enables quick browsing on all the Homebrew packages.
You might want to try out Cakebrew
Also worth noting the analytics data of the top downloads of all cask packages in the past 365 days: https://formulae.brew.sh/analytics/
Upvotes: 2
Reputation: 11
Slight modification to the answer above:
for cask in $(brew search --casks); do
brew cask info $cask;
done
Upvotes: 1
Reputation: 416
Brew search now has a --desc flag.
This lists all of them with the description:
brew search --casks --desc ''
Upvotes: 27
Reputation: 31524
*
as search string and all the casks will be displayedfor cask in $(brew search); do
brew cask info $cask;
done
Upvotes: 15
Reputation: 19849
Run brew search
without argument to list all of them. You won’t get descriptions, thought.
Upvotes: 7