This directory contains Brewfile declarations that will be copied into your custom image at /usr/share/ublue-os/homebrew/.
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.
- During Build: Files in this directory are copied to
/usr/share/ublue-os/homebrew/in the image - After Installation: Users install packages by running
brew bundlecommands - User Experience: Declarative package management via Homebrew
- Create
.Brewfilefiles in this directory - Add your desired packages using Brewfile syntax
- Build your image - the Brewfiles will be copied to
/usr/share/ublue-os/homebrew/
Example Files in this directory:
default.Brewfile- Essential command-line toolsdevelopment.Brewfile- Development tools and languagesfonts.Brewfile- Programming fonts
After booting into your custom image, install packages with:
brew bundle --file /usr/share/ublue-os/homebrew/default.BrewfileOr use the convenient ujust commands defined in custom/ujust/custom-apps.just:
ujust install-default-apps
ujust install-dev-tools
ujust install-fontsBrewfiles 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"Edit the existing Brewfiles or create new ones:
default.Brewfile- Modify for your essential toolsdevelopment.Brewfile- Add your dev stackfonts.Brewfile- Add preferred fonts- Create new files -
gaming.Brewfile,media.Brewfile, etc.
When you add new Brewfiles, create corresponding ujust commands in custom/ujust/custom-apps.just for easy installation.