Packaging Tesseras for Arch Linux
-2026-02-16
-Tesseras now ships a PKGBUILD for Arch Linux. This post walks through building -and installing the package from source.
-Prerequisites
-You need a working Rust toolchain and the base-devel group:
-sudo pacman -S --needed base-devel sqlite
-rustup toolchain install stable
-
-Building
-Clone the repository and run the just arch recipe:
git clone https://git.sr.ht/~ijanc/tesseras
-cd tesseras
-just arch
-
-This runs makepkg -sf inside packaging/archlinux/, which:
-
-
- prepare — fetches Cargo dependencies with
cargo fetch --locked
- - build — compiles
tesdandtes(the CLI) in release mode
- - package — installs binaries, systemd service, sysusers/tmpfiles configs, -shell completions (bash, zsh, fish), and a default config file -
The result is a .pkg.tar.zst file in packaging/archlinux/.
Installing
-sudo pacman -U packaging/archlinux/tesseras-*.pkg.tar.zst
-
-Post-install setup
-The package creates a tesseras system user and group automatically via
-systemd-sysusers. To use the CLI without sudo, add yourself to the group:
sudo usermod -aG tesseras $USER
-
-Log out and back in, then start the daemon:
-sudo systemctl enable --now tesd
-
-What the package includes
-| Path | Description |
|---|---|
/usr/bin/tesd | Full node daemon |
/usr/bin/tes | CLI client |
/etc/tesseras/config.toml | Default configuration (marked as backup) |
/usr/lib/systemd/system/tesd.service | Systemd unit with security hardening |
/usr/lib/sysusers.d/tesseras.conf | System user definition |
/usr/lib/tmpfiles.d/tesseras.conf | Data directory /var/lib/tesseras |
| Shell completions | bash, zsh, and fish |
PKGBUILD details
-The PKGBUILD builds directly from the local git checkout rather than downloading
-a source tarball. The TESSERAS_ROOT environment variable points makepkg to the
-workspace root. Cargo's target directory is set to $srcdir/target to keep
-build artifacts inside the makepkg sandbox.
The package depends only on sqlite at runtime and cargo at build time.
Updating
-After pulling new changes, simply run just arch again and reinstall:
git pull
-just arch
-sudo pacman -U packaging/archlinux/tesseras-*.pkg.tar.zst
-
-
-