Skip to content

CLI Reference

This page documents the global options that apply across soar commands, along with the environment variables that influence soar's behavior.

Quick Reference

OptionShortDescription
--verbose-vIncrease output verbosity
--quiet-qSuppress all output except errors
--json-jOutput results in JSON format
--no-color-Disable colored output
--no-progress-Disable progress bars
--profile-pUse a specific profile
--config-cSpecify custom config file path
--proxy-PSet HTTP/HTTPS proxy server
--header-HAdd custom HTTP headers
--user-agent-ASet custom User-Agent string
--system-SOperate in system-wide mode (requires root)

Verbosity Control

--verbose / -v

Increase output verbosity. It can be used multiple times for more detail (-vv, -vvv).

bash
soar -v install neovim
soar -vv sync

--quiet / -q

Suppress all non-error output.

bash
soar -q install nodejs

Output Format

--json / -j

Output results in JSON format for parsing.

bash
soar --json query neovim
soar --json search python | jq '.[] | .name'

Display Options

--no-color

Disable colored output.

bash
soar --no-color install ffmpeg

--no-progress

Disable progress bars.

bash
soar --no-progress sync > sync.log

Configuration

--profile / -p

Use a specific profile.

bash
soar --profile work install vscode

Profiles are defined in ~/.config/soar/config.toml:

toml
[profile.work]
root_path = "/opt/soar-work"

--config / -c

Specify a custom configuration file path.

bash
soar --config /path/to/config.toml install neovim

Network Options

--proxy / -P

Set an HTTP/HTTPS proxy server.

bash
soar --proxy http://proxy.example.com:8080 install python
soar --proxy http://user:pass@proxy.example.com:8080 sync

--header / -H

Add custom HTTP headers.

bash
soar --header "Authorization: Bearer mytoken" sync
soar -H "X-Api-Key: secret123" install package

--user-agent / -A

Set a custom User-Agent string.

bash
soar --user-agent "MyApp/1.0" install python

System Mode

--system / -S

Operate in system-wide mode. This requires root.

bash
sudo soar --system install docker

System paths:

  • Config: /etc/soar/config.toml
  • Root: /opt/soar
  • Binaries: /opt/soar/bin

Common Combinations

bash
soar --json --quiet install python
bash
soar -vv --no-progress install neovim
bash
soar --json --proxy http://proxy.corp.com:8080 sync
bash
sudo soar --system install docker

Environment Variables

VariablePurposeExample
HTTP_PROXYSet HTTP/HTTPS proxyexport HTTP_PROXY=http://proxy:8080
SOAR_CONFIGCustom config file pathexport SOAR_CONFIG=/path/to/config.toml
SOAR_PACKAGES_CONFIGCustom packages.toml pathexport SOAR_PACKAGES_CONFIG=/path/to/packages.toml
NO_COLORDisable colored outputexport NO_COLOR=1
SOAR_ROOTOverride root directoryexport SOAR_ROOT=/custom/soar
SOAR_BINOverride bin pathexport SOAR_BIN=/custom/bin
SOAR_DBOverride database pathexport SOAR_DB=/custom/db
SOAR_CACHEOverride cache pathexport SOAR_CACHE=/custom/cache
SOAR_PACKAGESOverride packages pathexport SOAR_PACKAGES=/custom/packages
SOAR_REPOSITORIESOverride repositories pathexport SOAR_REPOSITORIES=/custom/repos
SOAR_PORTABLE_DIRSOverride portable dirs pathexport SOAR_PORTABLE_DIRS=/custom/portable
SOAR_DESKTOPOverride desktop entries pathexport SOAR_DESKTOP=/custom/applications
SOAR_STEALTHUse default config without reading fileexport SOAR_STEALTH=1
SOAR_NIGHTLYForce nightly update channel (self update)export SOAR_NIGHTLY=1
SOAR_RELEASEForce stable update channel (self update)export SOAR_RELEASE=1

See Also

Released under the MIT License.