README.org
February 2, 2026 · View on GitHub
- Dotbot =brew= plugin :PROPERTIES: :ID: 52d1c964-770e-4844-8ab4-2f7f395d97c7 :END:
#+begin_html
#+end_htmlPlugin for [[https://github.com/anishathalye/dotbot][dotbot]] that adds =brew=, =cask=, =tap=, =brewfile=, and =services= directives. It allows installation of packages using Homebrew on macOS and Linux. The =cask= directive is only supported on macOS. If =brew= is not installed, it will be automatically installed and configured.
** Installation :PROPERTIES: :ID: 597691cd-5651-400f-ada0-a68454d7825a :END:
Just add it as submodule of your dotfiles repository.
#+BEGIN_SRC shell git submodule add https://github.com/d12frosted/dotbot-brew.git #+END_SRC
Modify your =install= script, so it automatically enables =brew= plugin.
#+BEGIN_SRC shell "{DOTBOT_DIR}/{BASEDIR}" --plugin-dir dotbot-brew -c "{@}" #+END_SRC
** Usage :PROPERTIES: :ID: 2e816835-29cf-4747-8d19-9db69717f515 :END:
*** Directives
| Directive | Description | Platform | |-------------+-------------------------------------------------------+--------------| | =brew= | Install packages via =brew install= | macOS, Linux | | =cask= | Install applications via =brew install --cask= | macOS only | | =tap= | Add Homebrew taps | macOS, Linux | | =brewfile= | Install packages from Brewfile(s) | macOS, Linux | | =services= | Start services via =brew services start= | macOS, Linux |
*** Example
In your =install.conf.yaml= use =brew= directive to list all packages to be installed using =brew=. The same works with =cask=, =tap=, =brewfile=, and =services=. For example:
#+BEGIN_SRC yaml
-
brewfile:
- Brewfile
- brew/Brewfile
-
tap:
- homebrew/services
-
brew:
- git
- git-lfs
- ripgrep
-
brew: [gnupg, jq]
-
cask: [vlc, firefox]
-
services: [postgresql, redis] #+END_SRC
- Support
If you enjoy this project, you can support its development via [[https://github.com/sponsors/d12frosted][GitHub Sponsors]] or [[https://www.patreon.com/d12frosted][Patreon]].