Source resolution
Fur resolves install targets across five backends. Each backend has its own capabilities, failure modes, and trust posture.
2:10
Backend matrix
- Nixpkgs —
nix profilefor user scope; system scope only via explicit--systemand the managed module path. - AppImage — copy into
~/.local/apps, set executable, emit a desktop file, run viaappimage-runwhen present. - Debian (.deb) — extract with
dpkg-deb -x, dependency hints fromdata/deb-deps.toml;autoPatchelffirst, fall back to asteam-runwrapper. - Flatpak — full command plane with remote management and typed errors.
- Foxora Kits — signed catalogs with trust + pin policy and immutable provenance attestations.
Resolution order
- If
--fromis given, only that backend is tried. - Otherwise: nixpkgs → kits → flatpak → deb (when path-like) → appimage (when path-like).
- The first backend that resolves the target wins; the rest are skipped.
JSON output
The resolved backend is reported in the JSON envelope:
bash
fur install hello | jq '.schema == "fur.v1" and .action == "install" and .source == "nixpkgs"'Per-backend deep-links
- Debian CI lane:
scripts/ci-deb-real.sh - Apt habit corpus:
scripts/apt-host-corpus/ - Kit security: Foxora Kits