Brew Operations

Manage brew packages on mac/OSX. See https://brew.sh/

Facts used in these operations: brew.BrewCasks, brew.BrewPackages, brew.BrewTaps, brew.BrewVersion.

brew.cask_upgrade

Stateless operation

This operation will always execute commands and is not idempotent.

Upgrades all brew casks.

brew.cask_upgrade(**kwargs)
Note:

This operation also inherits all global arguments.

brew.casks

Add/remove/update brew casks.

brew.casks(casks: str | list[str] | None=None, present=True, latest=False, upgrade=False, **kwargs)

casks**: list of casks to ensure present**: whether the casks should be installed latest**: whether to upgrade casks without a specified version upgrade**: run brew cask upgrade before installing casks

ions: Cask versions can be pinned like brew: <pkg>@<version>.

ample:**

ode:: python

brew.casks(

name=’Upgrade and install the latest cask’, casks=[“godot”], upgrade=True, latest=True,

) Note:

This operation also inherits all global arguments.

brew.packages

Add/remove/update brew packages.

brew.packages(
    packages: str | list[str] | None=None, present=True, latest=False, update=False,
    upgrade=False, **kwargs,
)

packages**: list of packages to ensure present**: whether the packages should be installed latest**: whether to upgrade packages without a specified version update**: run brew update before installing packages upgrade**: run brew upgrade before installing packages

ions: Package versions can be pinned like brew: <pkg>@<version>.

amples:**

ode:: python

# Update package list and install packages brew.packages(

name=’Install Vim and vimpager’, packages=[“vimpager”, “vim”], update=True,

)

# Install the latest versions of packages (always check) brew.packages(

name=”Install latest Vim”, packages=[“vim”], latest=True,

) Note:

This operation also inherits all global arguments.

brew.tap

Add/remove brew taps.

brew.tap(src: str | None=None, present=True, url: str | None=None, **kwargs)

src**: the name of the tap present**: whether this tap should be present or not url**: the url of the tap. See https://docs.brew.sh/Taps

amples:**

ode:: python

brew.tap(

name=”Add a brew tap”, src=”includeos/includeos”,

)

# Just url is equivalent to # brew tap kptdev/kpt https://github.com/kptdev/kpt brew.tap(

)

# src and url is equivalent to # brew tap example/project https://github.example.com/project brew.tap(

src=”example/project”, url=”https://github.example.com/project”,

)

# Multiple taps for tap in [“includeos/includeos”, “ktr0731/evans”]:

brew.tap(

name={f”Add brew tap {tap}”}, src=tap,

)

Note:

This operation also inherits all global arguments.

brew.update

Stateless operation

This operation will always execute commands and is not idempotent.

Updates brew repositories.

brew.update(**kwargs)
Note:

This operation also inherits all global arguments.

brew.upgrade

Stateless operation

This operation will always execute commands and is not idempotent.

Upgrades all brew packages.

brew.upgrade(**kwargs)
Note:

This operation also inherits all global arguments.