Installing

Releases

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.

After installing cargo, there are also three different channels to choose from: stable, beta, and nightly. If you’re unsure of which channel to choose, go with stable as your default rust toolchain:

rustup default stable

You can find more information about channels here.

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

On OSX:

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

On Fedora Linux

sudo dnf install clang-devel openssl-devel libsodium-devel libzstd-devel pkgconfig 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-beta"

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 OSX.

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

Debian

curl https://nixos.org/nix/install | 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.

openSUSE

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

sudo zypper addrepo -f -r https://download.opensuse.org/repositories/devel:/tools:/scm/openSUSE_Tumbleweed/devel:tools:scm.repo
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

FreeBSD

pkg install pijul

Alternatively, you can install the port, which is more likely to be up-to-date but means you have to wait for rust and pijul to build from scratch:

cd /usr/ports/devel/pijul/ && make install clean

Windows

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