Download NOVA.
The compiler, runtime, standard library, and a matched clang/LLVM toolchain — all in one file, per platform. Nothing to separately install: no system LLVM, no Visual Studio Build Tools, no apt install llvm.
🚧 Pre-release — not ready for general use yet
The Windows and Linux bundles below are real — each carries its own clang/LLD, and both were verified building and running NOVA programs with the toolchain stripped off PATH entirely. They are still pre-release: extract them yourself, since the one-command installer scripts aren't wired to a live release feed yet, and macOS isn't built. Kick the tires, don't ship production work on it.
🔏 Before you download: no code signing, no official certification
These binaries are not digitally signed with a Windows Authenticode certificate or an Apple Developer ID, and they are not distributed through the Microsoft Store, the Mac App Store, or any Linux distribution's official package repository (apt/dnf/pacman). Expect Windows SmartScreen or macOS Gatekeeper to show an "unknown publisher" warning — that's normal for an independent, self-funded open-source project without a paid signing certificate, not a sign the file itself was tampered with. Verify the SHA256 checksum below before running if you want that assurance, and read install.sh/install.ps1 yourself before piping them into a shell — both are short, plain-text scripts.
NOVA is an independent project created by Mangesh Mane. It is not affiliated with, certified by, or endorsed by Microsoft, Apple, Canonical, Red Hat, the Linux Foundation, or any other OS vendor — "Windows," "macOS," and "Linux" above describe target-platform compatibility only. NOVA is licensed under the Apache License 2.0 (see LICENSE in the source repository) and provided "AS IS," WITHOUT WARRANTY OF ANY KIND, express or implied — you run these binaries entirely at your own risk. (This notice is a plain-language summary for convenience; the Apache 2.0 license text is the actual governing terms.)
Pick one, run one command.
Every installer places NOVA under a private directory (~/.nova, or the Windows equivalent) and sets things up so nova build just works — including its own bundled clang, resolved automatically. Run nova toolchain status after installing to confirm.
Linux
NOVA, its runtime, the standard library and Forge, plus a trimmed clang 22 and LLD. Verified building a NOVA program on Ubuntu 24.04 with an entirely empty PATH — no system clang, no binutils. Unlike the Windows bundle it does not ship a libc: you need your distro's libc6-dev (or build-essential) for the glibc headers and startup objects. See below.
macOS
Same story as Linux — designed and tested, not yet published. Intel (x86_64) support is planned as a later follow-up on top of that.
Windows
The complete package: NOVA v0.1.0, its C runtime, the standard library and Forge, plus a trimmed clang 22 / LLD and a full mingw-w64 UCRT sysroot. No Visual Studio, no Windows SDK, no separate LLVM. Extract it anywhere, point NOVA_HOME at the folder, and bin\nova.exe build app.nova works.
Verifying a download
Prefer not to pipe a script straight into your shell? Once the real release pipeline is live, every direct archive link will skip the installer script entirely — download it, inspect it, extract it yourself. install.sh and install.ps1 are themselves small, plain-text scripts (tens of KB, not a compiled binary) — read before you run, same as any package manager's install script.
For the Windows bundle above, verify it against its published SHA256 before extracting, same as you should for any binary you download:
In PowerShell: Get-FileHash nova-0.1.0-windows-x64.zip -Algorithm SHA256
Using the Windows bundle
There is no installer step in this pre-release — the archive is the install. Extract it, tell NOVA where it lives, and build:
nova toolchain status reports which clang it resolved — it should name the one inside NOVA_HOME\toolchains\clang, not anything on your PATH. To make NOVA_HOME stick across sessions, set it once with setx NOVA_HOME "$HOME\.nova\nova-0.1.0" and add %NOVA_HOME%\bin to your PATH.
Using the Linux bundle
(mkdir -p ~/.nova first. Add the export to your shell profile to make it stick.)
What Linux still needs from your system — and why
The Windows bundle is genuinely self-contained because llvm-mingw ships a complete mingw-w64 sysroot. The official LLVM Linux build does not ship a libc, so the Linux bundle relies on yours:
- Required: glibc development files — the headers (
stdio.hresolves from/usr/include) and the startup objects (Scrt1.o,crti.ofrom/lib/x86_64-linux-gnu). Install withapt install libc6-devordnf install glibc-devel. - Required:
libstdc++6andzlib1g— the bundled clang binary itself links against them. Present by default on essentially every desktop distro. - NOT required: clang, LLVM, or binutils. The bundle ships its own clang and LLD, and a
clang.cfgthat points the driver at the bundledld.lldinstead of/usr/bin/ld.
Programs you build link only against libc and libm, so the executables themselves run on any glibc system — verified with ldd.
Building the compiler itself?
These installers are for using NOVA. If you're contributing to the compiler itself, see building from source in the docs — that path still needs a system clang, since it's what bootstraps the compiler from source before the bundled-toolchain resolution exists to use.