• Stars
    star
    4,852
  • Rank 8,206 (Top 0.2 %)
  • Language
    Ruby
  • License
    MIT License
  • Created almost 13 years ago
  • Updated about 1 month 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
38,957
star
2

legacy-homebrew

πŸ’€ The former home of Homebrew/homebrew (deprecated)
27,030
star
3

homebrew-cask

🍻 A CLI workflow for the administration of macOS applications distributed as binaries
Ruby
20,458
star
4

homebrew-core

🍻 Default formulae for the missing package manager for macOS (or Linux)
Ruby
13,114
star
5

homebrew-cask-fonts

πŸ–‹ Casks of οΌ¦πŸ…Ύπ“π“πš‚
Ruby
2,836
star
6

install

πŸ“₯ Homebrew (un)installer
Shell
2,024
star
7

homebrew-services

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

formulae.brew.sh

🏎 An online formulae browser for Homebrew
HTML
1,341
star
9

homebrew-cask-versions

πŸ”’ Alternate versions of Casks
Ruby
1,175
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)
461
star
12

homebrew-command-not-found

πŸ” Ubuntu’s command-not-found equivalent for Homebrew on macOS
Ruby
373
star
13

discussions

πŸ—£ Public open-ended discussions. Replacement for our Discourse.
372
star
14

ruby-macho

πŸ”© A pure-Ruby library for parsing Mach-O files.
Ruby
232
star
15

homebrew-aliases

➑️ Aliases for Homebrew
Ruby
144
star
16

brew.sh

πŸ”– The Homebrew homepage
HTML
131
star
17

homebrew-portable-ruby

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

actions

πŸš€ Homebrew's GitHub Actions
JavaScript
99
star
19

homebrew-livecheck

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

homebrew-test-bot

🎰 Tests the full lifecycle of a Homebrew change.
Ruby
74
star
21

formula-patches

πŸ₯ Patches for Homebrew formulae
C
63
star
22

gsoc

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

.github

πŸ‘©β€βš•οΈ Default community health files for the Homebrew organisation on GitHub.
34
star
24

rubydoc.brew.sh

πŸ“– An online Ruby documentation browser for Homebrew/brew
Ruby
23
star
25

homebrew-linux-dev

πŸ’€ Homebrew/homebrew-linux-dev (deprecated)
Ruby
20
star
26

homebrew-formula-analytics

πŸ”’ Query Homebrew's analytics from the command-line.
Ruby
12
star
27

homebrew-governance

πŸ’€Homebrew's governance (deprecated)
10
star
28

brew-pip-audit

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

glibc-bootstrap

Shell
6
star
30

orka_api_client

A Ruby gem for interfacing with MacStadium's Orka API
Ruby
5
star
31

ci-orchestrator

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