https://www.x-cmd.com/pacman/— an Arch Linux (pacman) package repository hosting the official x-cmd package.
This repository is published verbatim under https://www.x-cmd.com/pacman/.
Add it as a pacman repository and install x-cmd natively on Arch Linux (and
Arch derivatives).
The package is built and released upstream at
x-cmd/release; this repo only mirrors the
.pkg.tar.zst artifact and maintains the x-cmd.db / x-cmd.files databases.
This self-hosted pacman repo complements the x-cmd AUR package (the primary Arch discovery channel) — it serves users who prefer a signed, self-hosted repo or who disable the AUR.
Append the repository to /etc/pacman.conf:
sudo tee -a /etc/pacman.conf >/dev/null <<'EOF'
[x-cmd]
Server = https://www.x-cmd.com/pacman/
SigLevel = Optional TrustAll
EOFThen install:
sudo pacman -Sy
sudo pacman -S x-cmdVerify:
x --versionSigLevel = Optional TrustAll accepts the currently-unsigned package while
pacman still verifies its checksum against x-cmd.db ("checking package
integrity"). Once a PGP key is published, switch to
SigLevel = Required DatabaseOptional and install the key with pacman-key.
pacman uses the Server URL literally — no $arch is appended unless you
write $arch. Because the x-cmd package is Architecture: any, a flat
layout serves every architecture:
.
├── x-cmd_0.9.9_all.pkg.tar.zst # the package
├── x-cmd.db # sync database (real file; pacman fetches <db>.db)
├── x-cmd.db.tar.gz # (same content, repo-add's canonical name)
├── x-cmd.files # files database (enables `pacman -Fl x-cmd`)
└── x-cmd.files.tar.gz
x-cmd.db and x-cmd.files are kept as real files (not the symlinks
repo-add produces) so static file hosts that don't follow symlinks still
serve them.
-
Drop the new
.pkg.tar.zstat the repo root (remove superseded ones), then regenerate the databases withrepo-add. macOS has no pacman tooling, andrepo-addneedsbsdtar+zstd, so run it through a Debian container (which packages Arch's pacman manager aspacman-package-manager):docker run --rm -v "$PWD:/repo" debian:latest bash -lc ' set -e apt-get update -qq apt-get install -y -qq pacman-package-manager zstd libarchive-tools >/dev/null cd /repo repo-add -R x-cmd.db.tar.gz x-cmd_*_all.pkg.tar.zst cp x-cmd.db.tar.gz x-cmd.db # static-host safe (replace symlink) cp x-cmd.files.tar.gz x-cmd.files '
On a real Arch system it is just
repo-add -R x-cmd.db.tar.gz *.pkg.tar.zst(bsdtar/zstdare preinstalled). -
Commit the new
.pkg.tar.zst,x-cmd.db[.tar.gz], andx-cmd.files[.tar.gz], then push. The site refreshes from this branch.
- Unsigned phase. The package is not PGP-signed yet, hence
SigLevel = Optional TrustAll. pacman still verifies the package checksum againstx-cmd.db. Publish a key + sign packages to move toRequired DatabaseOptional. - Flat, any-arch.
Architecture: any→ one package + onex-cmd.dbserves x86_64, aarch64, etc. No per-arch split needed. - Build provenance and source live in x-cmd/release.
- Companion repositories: x-cmd/rpm (
/rpm/), x-cmd/deb (/deb/), x-cmd/apk (/apk/). Arch users may also prefer the AUR package.