• Stars
    star
    5,276
  • Rank 7,824 (Top 0.2 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 13 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ“ฆ Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask and the Mac App Store.

Homebrew Bundle

Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask, Mac App Store, Whalebrew and Visual Studio Code.

Requirements

Homebrew (on macOS or Linux) for installing dependencies.

Homebrew Cask is optional and used for installing Mac applications.

mas-cli is optional and used for installing Mac App Store applications.

Whalebrew is optional and used for installing Whalebrew images.

Visual Studio Code is optional and used for installing Visual Studio Code extensions.

Installation

brew bundle is automatically installed when first run.

Usage

See the brew bundle section of the brew generate-man-completions output or brew bundle --help.

An example Brewfile:

# 'brew tap'
tap "homebrew/cask"
# 'brew tap' with custom Git URL
tap "user/tap-repo", "https://[email protected]/user/homebrew-tap-repo.git"
# 'brew tap' with arguments
tap "user/tap-repo", "https://[email protected]/user/homebrew-tap-repo.git", force_auto_update: true

# set arguments for all 'brew install --cask' commands
cask_args appdir: "~/Applications", require_sha: true

# 'brew install'
brew "imagemagick"
# 'brew install --with-rmtp', 'brew services restart' on version changes
brew "denji/nginx/nginx-full", args: ["with-rmtp"], restart_service: :changed
# 'brew install', always 'brew services restart', 'brew link', 'brew unlink mysql' (if it is installed)
brew "[email protected]", restart_service: true, link: true, conflicts_with: ["mysql"]
# install only on specified OS
brew "gnupg" if OS.mac?
brew "glibc" if OS.linux?

# 'brew install --cask'
cask "google-chrome"
# 'brew install --cask --appdir=~/my-apps/Applications'
cask "firefox", args: { appdir: "~/my-apps/Applications" }
# bypass Gatekeeper protections (NOT RECOMMENDED)
cask "firefox", args: { no_quarantine: true }
# always upgrade auto-updated or unversioned cask to latest version even if already installed
cask "opera", greedy: true
# 'brew install --cask' only if '/usr/libexec/java_home --failfast' fails
cask "java" unless system "/usr/libexec/java_home --failfast"

# 'mas install'
mas "1Password", id: 443987910

# 'whalebrew install'
whalebrew "whalebrew/wget"

# 'vscode --install-extension'
vscode "GitHub.codespaces"

Versions and lockfiles

Homebrew is a rolling release package manager so it does not support installing arbitrary older versions of software. If your software needs specific pinned versions, consider whalebrew lines in your Brewfile to install Docker containers.

After a successful brew bundle run, it creates a Brewfile.lock.json to record the environment. If a future brew bundle run fails, you can check the differences between Brewfile.lock.json to debug. As it can contain local environment information that varies between systems, it's not worth committing to version control on multi-user repositories.

Disable generation of the Brewfile.lock.json file by setting the environment variable with export HOMEBREW_BUNDLE_NO_LOCK=1 or by using the command-line argument brew bundle --no-lock.

Tests

Tests can be run with bundle install && bundle exec rspec.

Copyright

Copyright (c) Homebrew maintainers and Andrew Nesbitt. See LICENSE for details.

More Repositories

1

brew

๐Ÿบ The missing package manager for macOS (or Linux)
Ruby
40,651
star
2

legacy-homebrew

๐Ÿ’€ The former home of Homebrew/homebrew (deprecated)
26,993
star
3

homebrew-cask

๐Ÿป A CLI workflow for the administration of macOS applications distributed as binaries
Ruby
20,766
star
4

homebrew-core

๐Ÿป Default formulae for the missing package manager for macOS (or Linux)
Ruby
13,556
star
5

homebrew-cask-fonts

๐Ÿ’€ Casks of ๏ผฆ๐Ÿ…พ๐“๐“๐š‚ (deprecated)
2,862
star
6

install

๐Ÿ“ฅ Homebrew (un)installer
Shell
2,142
star
7

homebrew-services

๐Ÿš€ Manage background services using the daemon manager launchctl on macOS or systemctl on Linux.
Ruby
1,983
star
8

formulae.brew.sh

๐ŸŽ An online formulae browser for Homebrew
HTML
1,463
star
9

homebrew-cask-versions

๐Ÿ’€ Alternate versions of Casks (deprecated)
1,182
star
10

linuxbrew-core

๐Ÿ’€Formerly the core formulae for the Homebrew package manager on Linux
Ruby
1,160
star
11

homebrew-cask-drivers

๐Ÿ’€ Casks of Drivers (deprecated)
459
star
12

homebrew-command-not-found

๐Ÿ” Ubuntuโ€™s command-not-found equivalent for Homebrew on macOS
Ruby
398
star
13

discussions

๐Ÿ—ฃ Public open-ended discussions. Replacement for our Discourse.
375
star
14

ruby-macho

๐Ÿ”ฉ A pure-Ruby library for parsing Mach-O files.
Ruby
241
star
15

homebrew-aliases

โžก๏ธ Aliases for Homebrew
Ruby
149
star
16

brew.sh

๐Ÿ”– The Homebrew homepage
HTML
133
star
17

homebrew-portable-ruby

๐Ÿš— Versions of Ruby that can be installed and run from anywhere on the filesystem.
Ruby
129
star
18

actions

๐Ÿš€ Homebrew's GitHub Actions
JavaScript
118
star
19

homebrew-livecheck

๐Ÿ’€ Homebrew/homebrew-livecheck (deprecated)
96
star
20

homebrew-test-bot

๐ŸŽฐ Tests the full lifecycle of a Homebrew change.
Ruby
75
star
21

formula-patches

๐Ÿฅ Patches for Homebrew formulae
C
65
star
22

gsoc

๐Ÿ’€ Homebrew's Google Summer of Code (deprecated)
52
star
23

homebrew-linux-fonts

๐Ÿ–‹ Formula of ๏ผฆ๐Ÿ…พ๐“๐“๐š‚ (fork of Caskroom-fonts)
Ruby
48
star
24

.github

๐Ÿ‘ฉโ€โš•๏ธ Default community health files for the Homebrew organisation on GitHub.
33
star
25

rubydoc.brew.sh

๐Ÿ“– An online Ruby documentation browser for Homebrew/brew
Ruby
26
star
26

homebrew-linux-dev

๐Ÿ’€ Homebrew/homebrew-linux-dev (deprecated)
Ruby
20
star
27

homebrew-formula-analytics

๐Ÿ”ข Query Homebrew's analytics from the command-line.
Ruby
13
star
28

brew-pip-audit

๐Ÿ“‹ Bulk auditing Python dependencies in Homebrew with pip-audit
Ruby
11
star
29

homebrew-governance

๐Ÿ’€Homebrew's governance (deprecated)
10
star
30

glibc-bootstrap

๐Ÿฅพ Bootstrap binaries for compiling glibc from source
Shell
9
star
31

orka_api_client

๐Ÿ’Ž A Ruby gem for interfacing with MacStadium's Orka API
Ruby
5
star
32

ci-orchestrator

๐ŸŽป Manager of CI machine deployment and teardown (for internal Homebrew use)
Ruby
5
star