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
+
+
+