Skip to content

PkgForgePortable Packages for Linux

An ecosystem of tools and infrastructure for distributing and installing self-contained packages on any Linux distribution

PkgForge

AnyLinux AppImages

Most AppImages from PkgForge are AnyLinux AppImages — they bundle all dependencies and don't rely on host libraries. Unlike traditional AppImages:

  • Work on any glibc or musl-based distro (Alpine, Void musl, NixOS, Guix, etc.)
  • No FUSE required — the sharun runtime falls back automatically (FUSE → namespaces → extract-and-run)
  • Only need /bin/sh and a writable /tmp
  • Smaller sizes via DwarFS compression

300+ applications available and growing. See the AppImage format page for details.

Quick Start

Install Soar, the package manager:

bash
curl -fsSL "https://soar.qaidvoid.dev/install.sh" | sh

Then install packages:

bash
soar install firefox       # Install a package
soar search ripgrep        # Search for packages
soar update                # Update all packages
soar remove firefox        # Remove a package

Create Your Own Package

Write an SBUILD recipe to package any application:

yaml
#!/SBUILD
_disabled: false

pkg: "fzf"
pkg_id: "junegunn.fzf"
pkg_type: "static"
ghcr_pkg: "junegunn/fzf"
description: "A command-line fuzzy finder"
homepage:
  - "https://github.com/junegunn/fzf"
license:
  - "MIT"
provides:
  - "fzf"
src_url:
  - "https://github.com/junegunn/fzf"
x_exec:
  host:
    - "aarch64-linux"
    - "x86_64-linux"
  shell: "sh"
  pkgver: |
    VERSION=$(curl -qfsSL "https://api.github.com/repos/junegunn/fzf/releases/latest" | jq -r '.tag_name')
    echo "${VERSION#v}"
  run: |
    soar dl "github:junegunn/fzf@v${PKGVER}" --glob "*linux_${ARCH_ALT}.tar.gz" -o "./fzf.tar.gz" --yes
    tar -xf "fzf.tar.gz" -C "$SBUILD_TMPDIR/"
    mv "$SBUILD_TMPDIR/fzf" "$SBUILD_OUTDIR/$PKG"

See Creating Packages for the full guide, or read the SBUILD Specification.

Released under the MIT License.