This is a plugin for dotbot that adds brew
,
cask
, tap
, brewfile
, and install-brew
directives. It allows installation of
packages using either brew
or brew --cask
.
This plugin features an exceptionally fast check for installed packages, and can handle
hundreds of packages in a second or two. This is much faster than brew
itself which
takes 1-2 seconds per package
(through brew list package_name
). Please note that installing packages still takes the
normal amount of time.
This plugin can also install brew
from scratch (through the install-brew
directive).
This directive will succeed if brew
is already installed.
Add it as submodule of your dotfiles repository (per the dotbot plugin installation guidelines).
git submodule add https://github.com/wren/dotbot-brew.git
Modify your install
script, so it automatically enables brew
plugin.
"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" --plugin-dir dotbot-brew -c "${CONFIG}" "${@}"
In your install.conf.yaml
use brew
directive to list all packages to be installed
using brew
. The same works with cask
and brewfile
.
Also, if you plan on having multiple directives, you should consider using defaults to set your preferred settings.
For example, your config might look something like:
# Sets default config for certain directives
- defaults:
- brewfile:
- stdout: true,
- brew:
- stderr: False,
- stdout: False,
# Installs brew if missing
- install-brew: true
# Reads brewfile for packages to install
- brewfile:
- Brewfile
- brew/Brewfile
# Adds a tap
- tap:
- caskroom/fonts
# Installs certain brew packages
- brew:
- age
- git
- git-lfs
- jrnl
- neovim --HEAD
- yq
- zsh
# Installs certain casks
- cask:
- signal
- vlc
- font-fira-code-nerd-font
This project owes special thanks to
d12frosted and
miguelandres for their work in their own
versions of dotbot-brew
(which this project was originally forked from).