Skip to main content
Zerobrew provides advanced configuration options for power users who need fine-grained control over performance, concurrency, and behavior.

Concurrency Settings

Zerobrew uses parallel operations to maximize performance. You can control the level of concurrency for different operations.

Global Concurrency

integer
default:"20"
Sets the maximum number of concurrent download operations. This is a global setting that affects how many packages can be downloaded simultaneously.Constraints:
  • Minimum value: 1
  • Maximum value: Limited by system resources
  • Must be a positive integer
Usage:
Performance considerations:
  • 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:
integer
default:"20"
Maximum concurrent package downloads. Controlled by the --concurrency flag.
integer
default:"4"
Maximum concurrent package extraction operations. This limit prevents excessive CPU and disk I/O usage during unpacking.
integer
default:"4"
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:
boolean
default:"false"
Build packages from source instead of using precompiled bottles. This allows customization and optimization for your specific system.Usage:
Alias: -s

Bundle Options

string
default:"Brewfile"
Specify a custom Brewfile location for bundle operations.Usage:
Alias: -f
boolean
default:"false"
Overwrite existing Brewfile when dumping.Usage:

Uninstall Options

boolean
default:"false"
Uninstall all installed packages.Usage:
This will remove all installed packages. Use with caution.

Migrate Options

boolean
default:"false"
Skip confirmation prompts during migration from Homebrew.Usage:
Alias: -y
boolean
default:"false"
Force migration even if packages are already installed.Usage:

Reset Options

boolean
default:"false"
Skip confirmation prompt when resetting zerobrew installation.Usage:
Alias: -y
This will delete all zerobrew data including installed packages, cache, and database. This operation cannot be undone.

Init Options

boolean
default:"false"
Initialize zerobrew without modifying shell configuration files (.bashrc, .zshrc, etc.).Usage:
Useful when:
  • 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

boolean
default:"false"
Show only package names without version information.Usage:
Alias: -q
Conflicts with: --verbose, --json
boolean
default:"false"
Show detailed version information for outdated packages.Usage:
Alias: -v
Conflicts with: --quiet, --json
boolean
default:"false"
Output outdated packages as JSON for programmatic consumption.Usage:
Conflicts with: --quiet, --verbose

Shell 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:
string
Set during build to help build scripts locate dependencies and determine installation paths.
string
Set to the same value as ZEROBREW_PREFIX for Homebrew formula compatibility.

Example Configurations

High-Performance Workstation

Resource-Constrained Environment

Multi-User System

The --concurrency flag affects only download operations. Extraction and materialization are automatically managed for optimal performance across all system configurations.