Files
fluffy-pancake/custom/brew
2026-02-17 17:27:26 +01:00
..
2026-02-17 17:27:26 +01:00
2026-02-17 17:27:26 +01:00
2026-02-17 17:27:26 +01:00
2026-02-17 17:27:26 +01:00

Homebrew Integration

This directory contains Brewfile declarations that will be copied into your custom image at /usr/share/ublue-os/homebrew/.

What are Brewfiles?

Brewfiles are Homebrew's way of declaring packages in a declarative format. They allow you to specify which packages, taps, and casks you want installed.

How It Works

  1. During Build: Files in this directory are copied to /usr/share/ublue-os/homebrew/ in the image
  2. After Installation: Users install packages by running brew bundle commands
  3. User Experience: Declarative package management via Homebrew

Usage

Adding Brewfiles to Your Image

  1. Create .Brewfile files in this directory
  2. Add your desired packages using Brewfile syntax
  3. Build your image - the Brewfiles will be copied to /usr/share/ublue-os/homebrew/

Example Files in this directory:

Installing Packages from Brewfiles

After booting into your custom image, install packages with:

brew bundle --file /usr/share/ublue-os/homebrew/default.Brewfile

Or use the convenient ujust commands defined in custom/ujust/custom-apps.just:

ujust install-default-apps
ujust install-dev-tools
ujust install-fonts

File Format

Brewfiles use Ruby syntax:

# Add a tap (third-party repository)
tap "homebrew/cask"

# Install a formula (CLI tool)
brew "bat"
brew "eza"
brew "ripgrep"

# Install a cask (GUI application, macOS only)
cask "visual-studio-code"

Customization

Edit the existing Brewfiles or create new ones:

When you add new Brewfiles, create corresponding ujust commands in custom/ujust/custom-apps.just for easy installation.

Resources