Skip to content

Repository files navigation

Soar

Crates.io Downloads Discord Documentation License: MIT

A fast, modern, distro-independent package manager that just works.

Install static binaries, AppImages, and other portable formats (AppBundle, FlatImage, RunImage, onelf, and more) on any Linux distribution.

📦 What is Soar?

Soar installs packages; it does not build or host them. Repositories publish metadata in a standard format, and Soar reads that metadata to search, install, and update packages right under your home directory.

That split is the whole point. soarpkgs is the default repository, but Soar is not tied to it. Add a third-party one, or run your own.

It runs on any Linux distribution, with no superuser, no runtime dependencies, and no distribution packages touched. What you can install depends on the repository. soarpkgs publishes packages for x86_64, aarch64, and riscv64.

🪄 Install

Soar is a single statically-linked binary. Grab it with the install script:

# curl
curl -fsSL "https://raw.githubusercontent.com/pkgforge/soar/main/install.sh" | sh

# wget
wget -qO- "https://raw.githubusercontent.com/pkgforge/soar/main/install.sh" | sh

Note

🚀 Usage

soar sync                  # fetch repository metadata
soar search ripgrep        # find a package
soar install ripgrep       # install it
soar run ripgrep           # run it once, without installing
soar list                  # everything available
soar info                  # what you have installed
soar update                # update everything
soar remove ripgrep        # remove it

A package can also come straight from a URL or a local file, and one installed from a GitHub or GitLab release keeps tracking that release:

soar install https://github.com/owner/repo/releases/download/v1/tool

soar --help lists the rest. Full documentation lives at soar.qaidvoid.dev.

🌟 Features

Feature Description
Universal One statically-linked binary. No dependencies, no superuser, any Linux distribution.
Portable formats Static binaries, AppImages, and other self-contained formats, installed the same way.
Install from anywhere From a repository, a direct URL, or a local file. Releases installed from GitHub or GitLab stay up to date.
Delta updates AppImages advertising a zsync feed update by fetching only the parts that changed.
System integration Desktop entries, icons, man pages, and shell completions land where your system already looks.
Secure by default Checksums and signatures are verified before anything is installed.
Fast Parallel downloads and low-overhead package operations.

🔑 Forge Tokens

Installing or updating from a release uses that forge's API, which is rate limited. GitHub allows 60 requests an hour unauthenticated, which is easy to reach, so set GITHUB_TOKEN or GH_TOKEN if you track several packages that way. GitLab counts per minute and is rarely a problem, but honours GITLAB_TOKEN and GL_TOKEN all the same.

🤝 Contributing

Contributions are welcome. Fork the repository, open a pull request, and see CONTRIBUTING.md for the guidelines.

Minimum Supported Rust Version (MSRV)

v1.88.0