C and C++ WASM LLVM toolchain with libc++ and libc static libraries and headers targeting WASI.
Find a file
Michael Franzl f195f10aa0 Upgrade to LLVM 22 and wasi-libc 30
File hierarchy now largely congruent with WebAssembly/wasi-sdk.

Refactoring
2026-06-10 20:48:24 +02:00
.gitignore Initial commit 2024-05-12 10:09:06 +02:00
default.nix Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
flake.lock Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
flake.nix Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
README.md Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
wasi-libc.nix Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
wasm-compiler-rt.nix Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
wasm-libcxx.nix Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00
wasm-llvm.nix Upgrade to LLVM 22 and wasi-libc 30 2026-06-10 20:48:24 +02:00

wasi-sdk-nixos

C and C++ WASM LLVM toolchain with libc++ and libc static libraries and headers targeting WASI.

Similar to WebAssembly/wasi-sdk, but re-implemented from scratch for NixOS.

Goals

  • Provide lean C/C++ toolchain for WASM (using as much as possible from the LLVM project).
  • Support WASI preview 1 (no threading, no exceptions).

Versioning

Provided are the following currently available major versions:

  • LLVM: 22
  • wasi-libc: 30

Usage

This is a Nix flake. Its default package delivers a tool and compiler sysroot file hierarchy that should be largely congruent with WebAssembly/wasi-sdk.

For concrete usage examples, see https://code.michael.franzl.name/michael/clang-wasm-browser-starterpack

Maintenance

This project is exclusively maintained at https://code.michael.franzl.name/michael/wasi-sdk-nixos