Install Headwater

version 0.5.0

Headwater is one binary, headwater. You need no Rust toolchain to run it. On Linux x86_64 or macOS on Apple silicon, one line installs it:

$ curl -fsSL https://headwater.tools/install.sh | sh

The script downloads the release archive for your machine, checks it against the checksum published beside it, and unpacks the binary into ~/.local/bin. It needs sh, curl, tar and uname, and never asks for root. Set HEADWATER_VERSION to install another release, or HEADWATER_INSTALL_DIR to install somewhere else. To read the script before you run it, open the link above.

Or pick a route by hand:

Download the binary

Every engine release carries a static Linux x86_64 archive and a macOS archive for Apple silicon. Each holds the headwater binary and the license, and nothing else. These lines install it into ~/.local/bin.

Linux x86_64

$ mkdir -p ~/.local/bin
$ curl -fsSLO https://github.com/headwater-ai/headwater/releases/download/v0.5.0/headwater-v0.5.0-x86_64-unknown-linux-musl.tar.gz
$ tar -xzf headwater-v0.5.0-x86_64-unknown-linux-musl.tar.gz -C ~/.local/bin headwater

macOS on Apple silicon

$ mkdir -p ~/.local/bin
$ curl -fsSLO https://github.com/headwater-ai/headwater/releases/download/v0.5.0/headwater-v0.5.0-aarch64-apple-darwin.tar.gz
$ tar -xzf headwater-v0.5.0-aarch64-apple-darwin.tar.gz -C ~/.local/bin headwater

Then headwater --version prints 0.5.0. If your shell says it cannot find headwater, ~/.local/bin is not on your PATH: add it, or run ~/.local/bin/headwater by its full path.

Each archive has a .sha256 file beside it on the release page, which sha256sum -c reads on Linux and shasum -a 256 -c reads on macOS. The release also carries headwater-v0.5.0-x86_64-unknown-linux-gnu.tar.gz, an x86_64 Linux build that needs glibc 2.39 or later. The musl archive above needs no particular C library, so prefer it.

Install with apt on Debian or Ubuntu

Every engine release builds the headwater package and publishes it to a signed APT repository at https://headwater.tools/apt. It is for amd64 only. These lines run on Debian 12 or later and Ubuntu 20.04 or later, and after them apt upgrade brings each new release.

$ sudo apt-get update
$ sudo apt-get install -y ca-certificates curl
$ sudo install -d -m 0755 /etc/apt/keyrings
$ sudo curl -fsSL -o /etc/apt/keyrings/headwater-archive-keyring.asc https://headwater.tools/apt/headwater-archive-keyring.asc
$ echo "deb [signed-by=/etc/apt/keyrings/headwater-archive-keyring.asc] https://headwater.tools/apt stable main" | sudo tee /etc/apt/sources.list.d/headwater.list
$ sudo apt-get update
$ sudo apt-get install -y headwater
$ headwater --version

The package installs the static Linux binary at /usr/bin/headwater, with the license and shell completions for bash, zsh and fish. Where you are already root and have no sudo, as in a container, remove sudo from each line.

On Debian 11 the lines above stop at ca-certificates curl, because the Debian 11 security archive no longer serves those packages. The package itself still installs there. Download headwater_0.5.0_amd64.deb from the release page on another machine, copy it across, and run sudo apt-get install ./headwater_0.5.0_amd64.deb. That needs no network, and a package installed this way gets no update from apt upgrade.

Install with cargo

If you already have a Rust toolchain, every crate of the engine is on crates.io. This gets you the binary alone, at the newest published version, and needs no clone.

$ cargo install headwater-cli

Build from source

This builds the tagged release from a clone. It needs a Rust toolchain at 1.91 or later.

$ git clone https://github.com/headwater-ai/headwater.git
$ cd headwater
$ git checkout v0.5.0
$ cargo build --release -p headwater-cli --manifest-path engine/Cargo.toml --locked

The binary lands at engine/target/release/headwater.

Next

The binary carries no taxonomy. The tutorial fetches the taxonomy package in its third step, and takes you from an empty directory to a passing check. Every release, with its notes and archives, is on the releases page.