• Stars
    star
    5,276
  • Rank 7,824 (Top 0.2 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 13 years ago
  • Updated 4 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