28th July 2026 at 11:50pm
#!/bin/bash
#
# Quick and dirty script to install the latest x86_64 build of Zig in /usr/local
#
# Not extensively tested. Use at your own risk!
#
cd /tmp
SOURCE=$(curl -s https://ziglang.org/download/index.json | jq -r '.master["x86_64-linux"].tarball')
#SOURCE="https://ziglang.org/builds/zig-x86_64-linux-0.17.0-dev.1476+91a29d707.tar.xz"
SOURCE_SIG="${SOURCE}.minisig"
PUBKEY="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U"
TARFILE=$(basename "$SOURCE")
TARDIR=$(mktemp --tmpdir -d zig.XXXXXX)
TARBASEDIR=$(basename "$TARDIR")
# grab the signature and distribution
curl -O "$SOURCE_SIG"
curl -C - -O "$SOURCE"
# verify signature
minisign -V -P "$PUBKEY" -m "$TARFILE"
SIGCHECK=$?
if [ $SIGCHECK -ne 0 ]; then
exit $SIGCHECK
fi
# extract
tar xJfv "$TARFILE" --one-top-level="$TARBASEDIR" --strip-components=1
# copy to /usr/local (note the weird cp /foo/. syntax)
sudo cp -rv "$TARDIR/lib/." "/usr/local/lib/zig"
sudo cp -v "$TARDIR/zig" "/usr/local/bin/zig"
# clean up
rm -rf "$TARDIR"