Skip to content

x-cmd/pacman

Repository files navigation

x-cmd pacman Repository

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.


Install (Arch Linux)

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
EOF

Then install:

sudo pacman -Sy
sudo pacman -S x-cmd

Verify:

x --version

SigLevel = 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.


Repository layout

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.


Adding a new release

  1. Drop the new .pkg.tar.zst at the repo root (remove superseded ones), then regenerate the databases with repo-add. macOS has no pacman tooling, and repo-add needs bsdtar + zstd, so run it through a Debian container (which packages Arch's pacman manager as pacman-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/zstd are preinstalled).

  2. Commit the new .pkg.tar.zst, x-cmd.db[.tar.gz], and x-cmd.files[.tar.gz], then push. The site refreshes from this branch.


Notes

  • Unsigned phase. The package is not PGP-signed yet, hence SigLevel = Optional TrustAll. pacman still verifies the package checksum against x-cmd.db. Publish a key + sign packages to move to Required DatabaseOptional.
  • Flat, any-arch. Architecture: any → one package + one x-cmd.db serves 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors