Repository navigation
Releases: numtide/iets
Releases · numtide/iets
Release list
iets v0.1.0
iets is a re-implementation of the Nix client in Rust. It is mostly, but not
fully, compatible with Nix. This is the first release.
Download
One static musl binary per platform. It needs no /nix/store, no
nix-daemon and no shared libraries.
curl -Lo iets https://github.com/numtide/iets/releases/download/v0.1.0/iets-0.1.0-x86_64-linux
chmod +x iets
./iets versionSHA256SUMS lists the checksums. For aarch64-linux, use
iets-0.1.0-aarch64-linux. With Nix, nix run github:numtide/iets/v0.1.0
also works.
What works
- Evaluation: 1.7–1.9x faster than Nix 2.34.8 on NixOS configs on one core,
3.1–3.5x on four. iets build,eval-jobs,search,diff,prefetchand
print-dev-env, in place of nix-build, nix-fast-build, nix-eval-jobs,
nix search, nix-diff, nurl and nix-direnv.- Locked local flakes, with
github:,gitlab:,sourcehut:andtarball
inputs. - Builds on a nix-daemon or on a
grpc://builder. - Under the classic names (
nix-build,nix), what iets does not do falls
back to the realnix.
Not supported (yet)
Some things iets doesn't do. Under the classic names, most of these fall
back to the real nix, so you mostly won't notice.
- No nix-daemon, and no store of its own. Builds go to a daemon or a remote
builder. - Flakes have to be local and locked. No registry refs like
nixpkgs#hello,
no remote roots likegithub:NixOS/nixpkgs#hello, and nonix flake lock. Remote inputs in aflake.lockare fine. fetchGitcopies a local working tree, or a local repo at arevorref,
by itself. Remote git fetches and git flake inputs run the realnix.- No import-from-derivation (IFD).
fetchurlandfetchTarballneed asha256. NofetchClosureorhg
fetching.- Only a handful of
nixsubcommands are native. The rest run the real
nix. - The library never frees memory, so don't embed it in a long-running
program yet. - Lots of other small details. iets is still very fresh.
The static binaries are Linux only. There is no riscv64 binary: CI
cross-builds it but runs nothing on it.
The full list is in
docs/reference/classic.md
and
docs/reference/divergences.md.
iets is LLM-ware; see the
README
for what that means.