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/orangestara/dotbot-brew.gitModify 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-fontThis project owes special thanks to
wren and
miguelandres for their work in their own
versions of dotbot-brew (which this project was originally forked from).