Initial commit
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# 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:**
|
||||
- [`default.Brewfile`](default.Brewfile) - Essential command-line tools
|
||||
- [`development.Brewfile`](development.Brewfile) - Development tools and languages
|
||||
- [`fonts.Brewfile`](fonts.Brewfile) - Programming fonts
|
||||
|
||||
### Installing Packages from Brewfiles
|
||||
|
||||
After booting into your custom image, install packages with:
|
||||
|
||||
```bash
|
||||
brew bundle --file /usr/share/ublue-os/homebrew/default.Brewfile
|
||||
```
|
||||
|
||||
Or use the convenient ujust commands defined in [`custom/ujust/custom-apps.just`](../ujust/custom-apps.just):
|
||||
```bash
|
||||
ujust install-default-apps
|
||||
ujust install-dev-tools
|
||||
ujust install-fonts
|
||||
```
|
||||
|
||||
## File Format
|
||||
|
||||
Brewfiles use Ruby syntax:
|
||||
|
||||
```ruby
|
||||
# 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:
|
||||
- **[`default.Brewfile`](default.Brewfile)** - Modify for your essential tools
|
||||
- **[`development.Brewfile`](development.Brewfile)** - Add your dev stack
|
||||
- **[`fonts.Brewfile`](fonts.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`](../ujust/custom-apps.just) for easy installation.
|
||||
|
||||
## Resources
|
||||
|
||||
- [Homebrew Documentation](https://docs.brew.sh/)
|
||||
- [Brewfile Documentation](https://github.com/Homebrew/homebrew-bundle)
|
||||
- [Bluefin Homebrew Guide](https://docs.projectbluefin.io/administration#homebrew)
|
||||
Reference in New Issue
Block a user