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)
|
||||
@@ -0,0 +1,22 @@
|
||||
# Default Brewfile for bluepilot
|
||||
# Add your favorite brew packages here
|
||||
#
|
||||
# Examples:
|
||||
|
||||
# Modern CLI tools
|
||||
brew "bat" # cat with syntax highlighting
|
||||
brew "eza" # Modern replacement for ls
|
||||
brew "fd" # Simple, fast alternative to find
|
||||
brew "rg" # ripgrep - faster grep
|
||||
|
||||
# Development tools
|
||||
brew "gh" # GitHub CLI
|
||||
brew "git" # Git version control
|
||||
|
||||
# Shell enhancements
|
||||
brew "starship" # Cross-shell prompt
|
||||
brew "zoxide" # Smarter cd command
|
||||
|
||||
# Utilities
|
||||
brew "htop" # Interactive process viewer
|
||||
brew "tmux" # Terminal multiplexer
|
||||
@@ -0,0 +1,26 @@
|
||||
# Brewfile for development tools
|
||||
# Uncomment packages you want to install
|
||||
|
||||
# Container and orchestration tools
|
||||
# brew "kind" # Kubernetes in Docker
|
||||
# brew "kubectl" # Kubernetes CLI
|
||||
# brew "k9s" # Kubernetes TUI
|
||||
# brew "helm" # Kubernetes package manager
|
||||
|
||||
# Cloud tools
|
||||
# brew "awscli" # AWS CLI
|
||||
# brew "azure-cli" # Azure CLI
|
||||
|
||||
# Programming languages and tools
|
||||
# brew "go" # Go programming language
|
||||
# brew "node" # Node.js
|
||||
# brew "python@3.12" # Python
|
||||
# brew "rust" # Rust programming language
|
||||
|
||||
# Build tools
|
||||
# brew "cmake" # Cross-platform build system
|
||||
# brew "ninja" # Small build system
|
||||
|
||||
# Debugging and profiling
|
||||
# brew "gdb" # GNU debugger
|
||||
# brew "valgrind" # Memory debugging tool
|
||||
@@ -0,0 +1,13 @@
|
||||
# Brewfile for fonts
|
||||
# Nerd Fonts with icons and glyphs for terminals and editors
|
||||
|
||||
# Popular coding fonts
|
||||
cask "font-fira-code-nerd-font"
|
||||
cask "font-jetbrains-mono-nerd-font"
|
||||
cask "font-meslo-lg-nerd-font"
|
||||
cask "font-hack-nerd-font"
|
||||
|
||||
# Additional font options (uncomment to install)
|
||||
# cask "font-ubuntu-nerd-font"
|
||||
# cask "font-source-code-pro"
|
||||
# cask "font-cascadia-code-nerd-font"
|
||||
Reference in New Issue
Block a user