Toolchain backends
On one hand,
Riders.
A Rider connects a source extension to the compiler, linker, or packaging action that builds it. The project graph stays language agnostic; the Rider owns language-specific tool behavior.
Source extension chooses the path.
A generic executable target selects its Rider from the first source extension. C and C++ share the native object, dependency-file, parallel compilation, and link pipeline. Other Riders use a direct backend action and detect their tool only when the target needs to build.
project "hello" {
executable "hello" {
sources = ["src/main.go"]
install = true
}
}Built-in Riders.
C.ccc, clang, or gcc · Native compile, link, static, and shared-library path.
C++.cpp, .cc, .cxxc++, clang++, or g++ · Native C++ compiler and linker path.
Rust.rsrustc or cargo · Direct rustc builds, or Cargo for a Rust executable with Cargo.toml.
Haskell.hs, .lhsghc · Builds an executable through GHC.
D.dldc2, dmd, or gdc · Builds a native executable.
Go.gogo · Builds a native executable through go build.
Java.javajavac and jar · Compiles classes and packages a JAR.
C#.cscsc or mcs · Builds an executable through the detected compiler.
Swift.swiftswiftc · Builds a native executable.
Zig.zigzig · Builds an executable with zig build-exe.
Python.pypython3 or python · Syntax-checks and packages the script.
JavaScript.js, .jsxnode · Syntax-checks and packages the script.
TypeScript.ts, .tsxtsc · Transpiles to CommonJS JavaScript.
Kotlin.kt, .ktskotlin or gradle · Builds a runnable JAR.
Run nox riders to print this registry from the installed binary. Missing tools produce a specific error when a build reaches that Rider.
Riders build; Runners execute.
A Rider is used for project targets and artifacts. Direct-file execution with nox run path/to/file uses the separate Runner registry, which may require a runtime or compile a temporary artifact.