Concurrency Settings
Zerobrew uses parallel operations to maximize performance. You can control the level of concurrency for different operations.Global Concurrency
Sets the maximum number of concurrent download operations. This is a global setting that affects how many packages can be downloaded simultaneously.Constraints:Performance considerations:
- Minimum value:
1 - Maximum value: Limited by system resources
- Must be a positive integer
- Higher values can improve speed on fast connections but may overwhelm slower networks
- Consider your network bandwidth and system resources when adjusting
- Default value of 20 is optimized for most use cases
Internal Concurrency Limits
Zerobrew internally manages concurrency for different pipeline stages. These are hardcoded in the source code but are documented here for reference:Maximum concurrent package downloads. Controlled by the
--concurrency flag.Maximum concurrent package extraction operations. This limit prevents excessive CPU and disk I/O usage during unpacking.
Maximum concurrent package materialization operations (linking files from the store to the cellar). This limit prevents excessive file system operations.
The
unpack and materialize concurrency limits are currently hardcoded and cannot be changed via CLI flags or environment variables. They are optimized for balanced CPU, I/O, and disk performance.Command-Specific Options
Many zerobrew commands support additional flags for customizing behavior.Install Options
Install packages without creating symlinks in the prefix directory. Useful for testing or when you want to manage links manually.Usage:
Build packages from source instead of using precompiled bottles. This allows customization and optimization for your specific system.Usage:Alias:
-sBundle Options
Specify a custom Brewfile location for bundle operations.Usage:Alias:
-fOverwrite existing Brewfile when dumping.Usage:
Uninstall Options
Uninstall all installed packages.Usage:
Migrate Options
Skip confirmation prompts during migration from Homebrew.Usage:Alias:
-yForce migration even if packages are already installed.Usage:
Reset Options
Skip confirmation prompt when resetting zerobrew installation.Usage:Alias:
-yInit Options
Initialize zerobrew without modifying shell configuration files (Useful when:
.bashrc, .zshrc, etc.).Usage:- You want to manually add zerobrew to your PATH
- Using a custom shell configuration setup
- Running in containers or CI where shell config modification is not desired
Outdated Options
Show only package names without version information.Usage:Alias: Conflicts with:
-q--verbose, --jsonShow detailed version information for outdated packages.Usage:Alias: Conflicts with:
-v--quiet, --jsonOutput outdated packages as JSON for programmatic consumption.Usage:Conflicts with:
--quiet, --verboseShell Completion
Zerobrew supports shell completion for multiple shells. Generate completion script:Performance Tuning
Optimizing for Fast Networks
If you have a fast internet connection and powerful hardware:Optimizing for Limited Resources
For systems with limited bandwidth or older hardware:CI/CD Optimization
For continuous integration environments:Build Environment Variables
When building packages from source, zerobrew sets several environment variables:Set during build to help build scripts locate dependencies and determine installation paths.
Set to the same value as
ZEROBREW_PREFIX for Homebrew formula compatibility.