Installation
One line, a prebuilt binary, or from source
sqzass is a single binary with no runtime dependencies. No Node, no Python, no system libraries.
One line
|
The script does exactly four things, and you can read it first:
detect the platform (Linux on x86_64 or ARM64, or Apple-silicon macOS), download the latest
release tarball with its .sha256, verify the checksum, and install the
binary into /usr/local/bin — asking for sudo only if that directory is not
writable. Set SQZASS_INSTALL_DIR to install somewhere else. It touches
nothing else: no shell config, no PATH edits.
With Cargo
If you already have Rust, one line builds it from source:
Arch Linux
sqzass is in the AUR, built from
the release tag:
There is no sqzass-bin. Building a Rust tool from source is normal on Arch,
and two packages would only raise the question of which one is current.
With a coding agent
Paste this at an agent and it has enough to finish without guessing:
Set up sqzass in this project.
Read https://sqzass.sqzer.com/agent.md first — it covers the install (sqzass is
not on crates.io), the TOML front matter, how @/ links resolve, and the error
identifiers to match on.
/agent.md is the long version: the same install commands, the
rules that are not guessable from a file tree, and the exit-code table. It exists
because an agent asked to "add a static site generator" will otherwise reach for
cargo install sqzass, which fails — sqzass is installed from git or a release
tarball.
From source
The binary lands at target/release/sqzass.
Requirements
| Requirement | Version |
|---|---|
| Rust | 1.97 or newer |
| A C compiler | rustc drives the linker with it; the default build also compiles Oniguruma, the highlighter's regex engine, with it. |
| Everything else | — |
The exact configuration the static release ships — the pure-Rust regex engine, no C source compiled — is a feature flag away:
Prebuilt binaries
Attached to each release: two
statically linked Linux builds, x86_64-unknown-linux-musl and
aarch64-unknown-linux-musl, and an aarch64-apple-darwin one, each with a
.sha256 beside it.
The Linux builds are static, so they have no glibc requirement and run on
distributions older than the one they were built on — which is also why one
tarball covers Debian, Fedora and Arch alike. They are the builds that use the
pure-Rust regex engine: everywhere else sqzass highlights with Oniguruma, which
is measurably faster on code-heavy sites, but Oniguruma is a C binding and a C
binding is exactly what breaks a musl static build. The engines' grammar sets
are not identical either: the pure-Rust engine cannot run a few grammars'
regexes, so the static artifacts drop seven of them entirely — PowerShell,
JavaScript (Babel), Salt State and ARM Assembly among them. A ```powershell
or ```jsx fence that a native build highlights in full falls back to plain
text there, without an error. Even ```js differs in markup structure: the
native build resolves it to the Babel grammar, the static ones to plain
JavaScript. Each binary is still fully deterministic on its own.
Checking the install
Next: Your first site.