magus v0.3.0 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

Install on Linux

magus ships as a single self-contained binary. Download it with curl, extract it into a PATH directory you own - no root, no sudo - then verify it before first run.

Quick install

VERSION=v0.3.0
ARCH=amd64            # or arm64 on ARM
curl -fLO "https://github.com/egladman/magus/releases/download/${VERSION}/magus_${VERSION}_linux_${ARCH}.tar.gz"
mkdir -p ~/.local/bin
tar -xzf "magus_${VERSION}_linux_${ARCH}.tar.gz"
mv magus ~/.local/bin/
magus version

${VERSION} above is the current release. The unsuffixed archive is the static build and the installer default; it links nothing, so it runs on musl and glibc alike. The -cgo archive attached to each GitHub release is the glibc build, and it is the one to take if a magusfile calls Buzz FFI (zdef()), which the static build compiles out.

Verify the download

Fetch the manifest and its signature next to the tarball:

curl -fLO "https://github.com/egladman/magus/releases/download/${VERSION}/SHA256SUMS"
curl -fLO "https://github.com/egladman/magus/releases/download/${VERSION}/SHA256SUMS.sig"

Then verify the Ed25519 signature first, and only then the checksum - checking a hash against an unverified manifest proves nothing. The exact commands are in Verify a release.

Put it on your PATH

If magus version prints command not found, the install directory is not on your PATH. Add it once, in your shell rc:

# bash or zsh: append to ~/.bashrc or ~/.zshrc
export PATH="$HOME/.local/bin:$PATH"

Open a new shell afterward, then re-run magus version.

Next steps

downloadinstalllinuxpath
Last updated (e4f13c3d)
Earlier changes on this page (3)

Full history ↗ · Blame source ↗

Glossary

Magusfile

The magusfile.buzz that declares a project's targets (as export funs) and binds its spells. See targets.

Ward

A coded diagnostic that inspects a resolved op and nudges or blocks an anti-pattern before it runs. See wards.

Buzz

The language magusfiles are written in (the .buzz engine). See engines.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.