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