Skip to content

Configuration ​

Soar stores configuration at ~/.config/soar/config.toml. If the file doesn't exist, sensible defaults are used.

Quick Start

Run soar defconfig to create a default configuration file.

Configuration Reference ​

The options below are grouped by category. Every value reflects soar's defaults.

Paths ​

Control where soar stores its data.

Configuration OptionTypeDefaultDescription
cache_pathString~/.local/share/soar/cacheDirectory for cached package files
db_pathString~/.local/share/soar/dbPath to package database
bin_pathString~/.local/share/soar/binDirectory for binary symlinks
repositories_pathString~/.local/share/soar/reposLocal repository clones
portable_dirsString~/.local/share/soar/portable-dirsBase path for portable app data (AppImage/FlatImage/RunImage/Wrappe only)

Performance ​

Configuration OptionTypeDefaultDescription
parallelBooleantrueEnable parallel downloads
parallel_limitInteger4Max parallel downloads (1-16)
ghcr_concurrencyInteger8Max GHCR concurrent requests (1-32)
search_limitInteger20Max search results (5-100)
cross_repo_updatesBooleanfalseAllow cross-repo updates (not implemented)

Package Installation ​

Configuration OptionTypeDefaultDescription
install_patternsArray["!*.log", "!SBUILD", "!*.json", "!*.version"]Files to exclude during installation

Security ​

Configuration OptionTypeDefaultDescription
signature_verificationBooleannull (auto)Enable package signature verification

Desktop Integration ​

Configuration OptionTypeDefaultDescription
desktop_integrationBooleannull (repo-specific)Enable desktop menu entries

Repository Sync ​

Configuration OptionTypeDefaultDescription
sync_intervalString"3h"How often to sync repositories

Special sync_interval values: "always", "never", "auto" (3h), or a duration like "30m", "6h", "1d".

Display ​

Configuration OptionTypeDefaultDescription
display.progress_styleString"modern"Progress bar style: classic, modern, minimal
display.iconsBooleantrueShow Unicode icons
display.spinnersBooleantrueShow animated spinners

Key Options ​

Path Settings ​

Control where soar stores data. Add bin_path to your PATH:

sh
export PATH="$HOME/.local/share/soar/bin:$PATH"

Performance ​

  • parallel / parallel_limit: Increase for faster downloads on stable connections, decrease for slow or unstable connections.
  • ghcr_concurrency: Adjust if experiencing GHCR rate limiting.

Install Patterns ​

Glob patterns for files to exclude during installation. Patterns starting with ! are exclusions:

toml
install_patterns = [
    "!*.log",      # Exclude log files
    "!SBUILD",     # Exclude build scripts
    "!*.debug",    # Exclude debug symbols
]

Security ​

signature_verification: Set to true for maximum security or false for trusted local repos. This setting can be overridden per-repository.

Desktop Integration ​

desktop_integration: Enable this for GUI applications to appear in application menus. The setting can be configured globally or per-repository.

Display Settings ​

toml
[display]
progress_style = "modern"  # classic, modern, minimal
icons = true
spinners = true

Repositories ​

TIP

You can manage repositories from the command line with soar repo add/update/remove/list. See Repository Management.

Repositories are defined as arrays of tables in your configuration:

toml
[[repositories]]
name = "soarpkgs"
url = "https://github.com/pkgforge/soarpkgs/releases/latest/download/metadata-x86_64-linux.sdb.zstd"
pubkey = "RWQ109gKujRqohsA7RERlXFfeJi23EcHN3Dz8TxyPAywa5mLw/fbcbU4"
desktop_integration = true
enabled = true
signature_verification = true
sync_interval = "3h"

Repository Fields ​

FieldTypeDefaultDescription
nameString(required)Unique repository name. Note: "local" is reserved
urlString(required)URL to repository metadata
pubkeyStringnullRepository's public key (inline string)
enabledBooleantrueEnable/disable this repository
desktop_integrationBooleantrueEnable desktop integration for packages
signature_verificationBooleanautoEnable signature verification (auto-enabled if pubkey exists)
sync_intervalString"3h"Sync interval: "always", "never", "auto", or duration

Default Repositories ​

Soar includes one default repository for Linux platforms (aarch64, x86_64):

  • soarpkgs: The unified package repository
    • URL: https://github.com/pkgforge/soarpkgs/releases/latest/download/metadata-{platform}.sdb.zstd
    • Signature verification enabled
    • Desktop integration enabled

Managing Configuration ​

sh
soar config
sh
soar config -e
sh
soar -c /path/to/config.toml [subcommand]

Environment Variables ​

VariableDescription
SOAR_CONFIGCustom config file path
SOAR_ROOTRoot directory override (affects all profiles)
SOAR_CACHECache directory override
SOAR_BINBinary directory override
SOAR_DBDatabase path override
SOAR_PACKAGESPackages directory override
SOAR_REPOSITORIESRepositories directory override
SOAR_PORTABLE_DIRSPortable directories path override
RUST_LOGDebug logging level (debug, info, trace)

INFO

Environment variables take precedence over configuration file settings and profile paths.

Common Issues ​

Invalid TOML Syntax ​

Check for unclosed brackets, missing quotes, or duplicate names. Use soar config to validate.

Command Not Found ​

Add bin_path to your PATH in ~/.bashrc or ~/.zshrc.

Repository Not Syncing ​

Run soar sync manually. Check network connectivity and repository URLs.

Signature Verification Failed ​

Verify the pubkey value is correct. Run soar sync to update repository data.

Garbled Output ​

Switch to classic display mode:

toml
[display]
progress_style = "classic"
icons = false

Released under the MIT License.