From 8133fed255aba4975a3c933962091b46826d8c05 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 30 Nov 2021 13:44:22 +0300 Subject: [PATCH] feat(web/tvl/blog): Write Tvix introduction blog post This post is intended to just let people know about the existence of Tvix, tell them a bit about the background and how to follow along. Change-Id: Ib5194d3aa385a0e30b4768ba28cb063784f6e0a3 --- web/static/files/flokli_tazjin_tvix.webp | Bin 0 -> 73790 bytes web/tvl/blog/default.nix | 6 +- web/tvl/blog/kicking-off-tvix.md | 1 - web/tvl/blog/rewriting-nix.md | 79 +++++++++++++++++++++++ 4 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 web/static/files/flokli_tazjin_tvix.webp delete mode 100644 web/tvl/blog/kicking-off-tvix.md create mode 100644 web/tvl/blog/rewriting-nix.md diff --git a/web/static/files/flokli_tazjin_tvix.webp b/web/static/files/flokli_tazjin_tvix.webp new file mode 100644 index 0000000000000000000000000000000000000000..4c0b94903fda4c44b47d6404480da842f94a3acc GIT binary patch literal 73790 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 literal 0 HcmV?d00001 diff --git a/web/tvl/blog/default.nix b/web/tvl/blog/default.nix index cedfc6b41..2455dbbdf 100644 --- a/web/tvl/blog/default.nix +++ b/web/tvl/blog/default.nix @@ -9,10 +9,10 @@ posts = [ { - key = "kicking-off-tvix"; - title = "Kicking off Tvix"; + key = "rewriting-nix"; + title = "Tvix: We are rewriting Nix"; date = 1636038556; - content = ./kicking-off-tvix.md; + content = ./rewriting-nix.md; draft = true; } ]; diff --git a/web/tvl/blog/kicking-off-tvix.md b/web/tvl/blog/kicking-off-tvix.md deleted file mode 100644 index 295c1bb9c..000000000 --- a/web/tvl/blog/kicking-off-tvix.md +++ /dev/null @@ -1 +0,0 @@ -To be written. diff --git a/web/tvl/blog/rewriting-nix.md b/web/tvl/blog/rewriting-nix.md new file mode 100644 index 000000000..9c62fc496 --- /dev/null +++ b/web/tvl/blog/rewriting-nix.md @@ -0,0 +1,79 @@ +Evaluating the Nix programming language, used by the Nix package +manager, is currently very slow. This becomes apparent in all projects +written in Nix that are not just simple package definitions, for +example: + +* the NixOS module system +* TVL projects like + [`//nix/yants`](https://at.tvl.fyi/?q=%2F%2Fnix%2Fyants) and + [`//web/bubblegum`](https://at.tvl.fyi/?q=%2F%2Fweb%2Fbubblegum). +* the code that [generates build + instructions](https://at.tvl.fyi/?q=%2F%2Fops%2Fpipelines) for TVL's + [CI setup](https://tvl.fyi/builds) + +Whichever project you pick, they all suffer from issues with the +language implementation. At TVL, it takes us close to a minute to +create the CI instructions for our monorepo at the moment - despite it +being a plain Nix evaluation. Running our Nix-native build systems for +[Go](https://code.tvl.fyi/about/nix/buildGo) and [Common +Lisp](https://code.tvl.fyi/about/nix/buildLisp) takes much more time +than we would like. + +Some time last year a few of us got together and started investigating +ways to modernise the current architecture of Nix and figure out how +to improve the speed of some of the components. We created over [250 +commits](https://cl.tvl.fyi/q/topic:tvix) in our fork of the Nix 2.3 +codebase at the time, tried [performance +experiments](https://cl.tvl.fyi/c/depot/+/1123/) aimed at improving +the current evaluator and fought [gnarly +bugs](https://cl.tvl.fyi/c/depot/+/1504). + +After a while we realised that we are treading water: Some of our +ideas are too architecturally divergent from Nix to be done on top of +the existing codebase, and the memory model of Nix causes significant +headaches when trying to do any kind of larger change. + +We needed an alternative approach and started brainstorming on a bent +whiteboard in a small flat in Hurghada, Egypt. + +![flokli & tazjin brainstorming](https://static.tvl.fyi/latest/flokli_tazjin_tvix.webp) + + + +Half a year later we are now ready to announce our new project: +**Tvix**, a re-imagined Nix with full nixpkgs compatibility. Tvix is +generously funded [by NLNet](https://nlnet.nl/project/Tvix/) (thanks!) +and we are ready to start implementing it. + +The [Tvix +architecture](https://code.tvl.fyi/about/tvix/docs/components.md) is +designed to be modular: It should be possible to write an evaluator +that plugs in the Guix language, to use arbitrary builders, and to +replace the store implementation. + +Tvix has these high-level goals: + +* Creating an alternative implementation of Nix that is **fully + compatible with nixpkgs**, as we believe that most of the value of + Nix currently lives in the massive amount of community contributions + to nixpkgs. +* A new Nix language implementation with a more efficient interpreter, + and without the strict separation between evaluation and build + phases +* Well-defined interaction protocols for how the three different + components (evaluator, builder, store) interact. +* A builder implementation using OCI instead of custom sandboxing + code. + +Tvix is not intended to *replace* Nix, instead we want to improve the +ecosystem by offering a diversity of implementations. However, we do +not intend to support experimental features. + +As things ramp up we will be posting more information on this blog, +for now you can keep an eye on +[`//tvix`](https://cs.tvl.fyi/depot/-/tree/tvix) in the TVL monorepo, +subscribe to [our feed](https://tvl.fyi/feed.atom). + +Stay tuned!