Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

Configuration OptionTypeDefaultDescription
Path Settings
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
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
install_patternsArray["!*.log", "!SBUILD", "!*.json", "!*.version"]Files to exclude during installation
Security
signature_verificationBooleannull (auto)Enable package signature verification
Desktop Integration
desktop_integrationBooleannull (repo-specific)Enable desktop menu entries
Repository Sync
sync_intervalString"3h"How often to sync repositories
Display Settings
display.progress_styleString"modern"Progress bar style: classic, modern, minimal
display.iconsBooleantrueShow Unicode icons
display.spinnersBooleantrueShow animated spinners

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

Key Options

Path Settings

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

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

Performance

  • parallel / parallel_limit: Increase for faster downloads on stable connections, decrease for slow/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:

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

Security

signature_verification: Set to true for maximum security, false for trusted local repos. Can be overridden per-repository.

Desktop Integration

desktop_integration: Enable for GUI applications to appear in application menus. Can be set globally or per-repository.

Display Settings

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

Repositories

Repositories are defined as arrays of tables in your configuration:

[[repositories]]
name = "bincache"
url = "https://meta.pkgforge.dev/bincache/x86_64-Linux.sdb.zstd"
pubkey = "https://meta.pkgforge.dev/bincache/minisign.pub"
desktop_integration = false
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
pubkeyStringnullURL to repository’s public key
enabledBooleantrueEnable/disable this repository
desktop_integrationBooleanfalseEnable 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 these default repositories for Linux platforms (aarch64, riscv64, x86_64):

  • bincache: Stripped binaries with no desktop integration

    • URL: https://meta.pkgforge.dev/bincache/{platform}.sdb.zstd
    • Signature verification enabled
    • Desktop integration disabled
  • pkgcache: Full packages with desktop integration

    • URL: https://meta.pkgforge.dev/pkgcache/{platform}.sdb.zstd
    • Desktop integration enabled

Managing Configuration

View config:

soar config

Edit config:

soar config -e

Use custom config:

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)

Note: 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 URL is correct. Run soar sync to update keys.

Garbled Output

Switch to classic display mode:

[display]
progress_style = "classic"
icons = false