Install Niell
Niell is in pre-release. For Linux x86_64 there's a precompiled binary you can download (below). For macOS and other architectures, you build from source with Rust + LLVM.
Linux x86_64 β direct download (recommended)
Works on any distro with glibc 2.34+: Ubuntu 22.04+, Debian 12+, RHEL 9+, Fedora 38+, Arch, openSUSE Leap 15.5+. Also requires clang installed (Niell invokes clang to link the C runtime with the emitted IR).
# 1. Install clang + xz (if not already there)
sudo apt install -y clang xz-utils # Ubuntu / Debian
# sudo dnf install -y clang xz # Fedora / RHEL
# sudo pacman -S clang xz # Arch
# 2. Download + decompress + put it on PATH
curl -L https://niell.dev/dl/niell-linux-x86_64.xz | xz -d > niell
chmod +x niell
sudo mv niell /usr/local/bin/
# 3. Verify
niell --help
The binary is self-contained with respect to LLVM 18 and the Niell runtime β it doesn't require installing the Rust toolchain or LLVM dev libs. It ships compressed with xz (~12 MB downloaded; ~48 MB after decompression).
macOS β not yet supported
Pre-release Niell doesn't have a macOS binary or a publicly distributable source build yet. It's a later-Slice exercise once demand appears.
If you want to try it on Mac:
- Prerequisites for the future "build from source" path: Rust toolchain + LLVM 18 via Homebrew (
brew install llvm@18). Forclang, it ships with the Xcode Command Line Tools. - Or wait for the release with native binary (cross-compile to
x86_64-apple-darwinandaarch64-apple-darwinis on the roadmap).
Windows β via WSL2
Niell doesn't support native Windows yet β the linker has trouble with LLVM static libs in the MSVC toolchain. Roadmap candidate but deferred for now.
Recommended: WSL2 with Ubuntu 22.04+ and then follow the Linux x86_64 instructions above.
# PowerShell with admin permissions:
wsl --install -d Ubuntu-24.04
Restart, open "Ubuntu 24.04" from the start menu, choose user + password. Then follow the steps in "Linux x86_64 β direct download".
Keep your .niell files inside the WSL filesystem (~/...) to avoid friction with the cross-filesystem split.
Test the compiler
Create hello.niell:
action main
show with "hello, niell"
end
Compile and run:
niell hello.niell -o hello
./hello
# β hello, niell
Next steps
Once you have niell working, check Getting started for a 10-minute tour, or jump straight to the spec at 01 Syntax (ES).