nova-nix: Windows-native Nix implementation in Haskell and C99
An implementation of Nix for Windows, written in Haskell with a C99 data layer that keeps evaluation data off the GHC heap. It also runs on macOS and Linux. It has its own parser, lazy evaluator, store, derivation builder and binary-cache substituter, and does not need an existing Nix installation.
On the derivations its CI checks, over pinned pairs of Nix and nixpkgs, the derivation paths it computes match upstream's. On Windows it builds packages from source through a stage-1 stdenv over prebuilt MinGW-w64 and MSYS2 packages pinned by SHA-256, and builds GNU Mes from a 1,623-byte seed. The project is experimental; see the README for what is not implemented.
Evaluation needs the C data layer, so library code must run it between
Nix.Eval.Arena.arenaInit and Nix.Eval.Arena.arenaDestroy.
Built on nova-cache for NAR serialization, narinfo handling, and
Ed25519-signed binary substitution.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Nix
- Nix.Builder
- Nix.Builtins
- Nix.Compression
- Nix.Config
- Nix.DependencyGraph
- Nix.Derivation
- Nix.Environment
- Nix.Eval
- Nix.Eval.Arena
- Nix.Eval.AttrPath
- Nix.Eval.CAttrSet
- Nix.Eval.CBytecode
- Nix.Eval.CCtxStr
- Nix.Eval.CEnv
- Nix.Eval.CLambda
- Nix.Eval.CList
- Nix.Eval.CStatus
- Nix.Eval.CThunk
- Nix.Eval.CallDepth
- Nix.Eval.CanonPath
- Nix.Eval.Compile
- Nix.Eval.Context
- Nix.Eval.EvalFormals
- Nix.Eval.IO
- Nix.Eval.Operator
- Nix.Eval.Policy
- Nix.Eval.Print
- Nix.Eval.SourceError
- Nix.Eval.SourcePos
- Nix.Eval.StringInterp
- Nix.Eval.Symbol
- Nix.Eval.Types
- Nix.Expr
- Nix.Hash
- Nix.HostPath
- Nix.Http
- Nix.Json
- Nix.Parser
- Nix.Push
- Nix.Realise
- Nix.Store
- Nix.Substituter
Downloads
- nova-nix-0.10.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.4.0, 0.1.5.0, 0.1.6.0, 0.1.7.0, 0.1.7.1, 0.1.8.0, 0.1.9.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.5.0.0, 0.6.0.0, 0.8.0.0, 0.9.0.0, 0.10.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | array (>=0.5 && <0.6), base (>=4.22 && <5), bytestring (>=0.11 && <0.13), containers (>=0.6 && <0.9), crypton (>=1.1 && <2), directory (>=1.3.8 && <1.4), file-io (>=0.1.1 && <0.2), filelock (>=0.1.1 && <0.2), filepath (>=1.4.100 && <1.6), http-client (>=0.7 && <0.8), http-client-tls (>=0.3 && <0.5), http-types (>=0.12 && <0.13), mtl (>=2.2 && <2.4), nova-cache (>=0.11.1.1 && <0.13), nova-nix, process (>=1.6 && <1.7), ram (>=0.20 && <1), random (>=1.2 && <1.4), regex-tdfa (>=1.3 && <1.4), sqlite-simple (>=0.4 && <0.5), tar (>=0.7.1 && <0.8), text (>=2.0 && <2.2), time (>=1.9 && <1.17), unix (>=2.8 && <2.9), Win32 (>=2.9 && <2.15), zlib (>=0.7 && <0.8), zstd (>=0.1 && <0.2) [details] |
| Tested with | ghc ==9.14.1 |
| License | Apache-2.0 |
| Copyright | 2026 Novavero AI Inc. |
| Author | Devon Tomlin |
| Maintainer | devon.tomlin@novavero.ai |
| Uploaded | by aoinoikaz at 2026-11-05T16:05:10Z |
| Category | Nix, Distribution, System |
| Home page | https://github.com/Novavero-AI/nova-nix |
| Bug tracker | https://github.com/Novavero-AI/nova-nix/issues |
| Source repo | head: git clone https://github.com/Novavero-AI/nova-nix -b main |
| Distributions | |
| Executables | nova-nix |
| Downloads | 392 total (94 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |