The main channel to compile Pijul from source is the Rust Language package manager: cargo. You’ll need to download rustup from here to install cargo.

On installing cargo, there are also three different channels to choose from, namely: stable, beta and nightly. You can find more information about it here. If you’re unsure of which channel to choose, go with stable as your default rust toolchain:

rustup default stable

If you’ve already installed rustup before, make sure to update it.

Next, you’ll need the necessary libraries and header files installed on your computer and clang compiler:

On Debian:

sudo apt install make libsodium-dev libclang-dev pkg-config libssl-dev libxxhash-dev libzstd-dev clang


brew install llvm libsodium openssl xxhash zstd

On Arch Linux:

sudo pacman -S clang libsodium gcc-libs rustup pkgconf diffutils make xxhash

On openSUSE Tumbleweed:

sudo zypper in clang-devel libopenssl-devel libsodium-devel libzstd-devel pkgconfig xxhash-devel

On Void (Linux):

sudo xbps-install libgcc-devel libressl-devel libsodium-devel libzstd-devel xxHash-devel

After installing the necessary libraries and header files, it’s time to install Pijul!

Run the following command in your terminal:

cargo install pijul --version "~1.0.0-alpha"

You might need to add the install directory to your $PATH environment variable. For example: adding the following to your ~/.config/environment.d/envvars.conf:

export PATH="\$PATH:$HOME/.cargo/bin/"

Distribution packages

Nix and NixOS

Nix is a package manager that can be installed on any linux distribution, and on OSX.

nix-env --upgrade
nix-env -iA pijul


curl | sh

If it fails with the following error:

nix error: cloning builder process: Operation not permitted

then create a file as root:

sudo su root -c 'echo "kernel.unprivileged_userns_clone=1" >> /etc/sysctl.d/nix.conf'

Arch Linux

Pijul is packaged in AUR. It should be up-to-date or at least close.


For the development version (1.0.0-alpha.X) of Pijul, a package for openSUSE Tumbleweed in the openSUSE Build Service:

sudo zypper addrepo -f -r
sudo zypper install --allow-vendor-change pijul

Use the development version at your own risk. As soon as Pijul 1.0.0 is published, the package will be updated and submitted to openSUSE Tumbleweed.

Void (Linux)

xbps-install pijul


We do not provide official Windows binaries at the moment, but community-provided binaries are available.