Devenv is switching Nix implementation to Tvix

39 Likes

congrats for switching over.
thanks for writing about the adoption chasm as well - unfortunately that sounds like a pretty real issue.

What timeframe do you anticipate this switch to happen in? As you mention in the announcement, there are still some missing components, and judging from a look at the TVL repo, tvix is not quite ready for end users yet.

1 Like

Any timeframe that I’d say would be pure speculation, we have to get things in order before we make the switch.

We’d have confidence in the evaluator and the tooling to be able to debug any issues before that happens.

Getting things right takes time, we’re not aiming for perfection but rather a good test coverage and tooling.

That’s also why I’ve laid out in the post about the scope of work rather than a made up timeframe.

7 Likes

I have quite a lot of questions with tvix (what is TVL? What’s this community about? What is their governance? Seems pretty opaque to me…), but most importantly, unless I’m mistaken, tvix is GPL and devenv is apache2. Don’t you have a licence problem?

4 Likes

This is a very cool development! One question I have is what this means for compatibility with an existing Nix installation. I’ve read that tvix’s builder interface is incompatible with that of the nix-daemon. I guess you don’t want to run tvix as a single-user process, but two daemons managing the store at once seems kind of sub-optimal as well as their actions could conflict with each other. Do you already know what the solution to this will be?

We’re going to evaluate and then talk to nix-daemon for doing the builds.

I’m going to be talking in details about the plan at NixCon 2024.

4 Likes

Oh great! I’ll have a look at the VoD later :slight_smile:

@domenkozar I’ve watched your talk about this topic, and there’s a question that I hope you can maybe elaborate on a bit:

To me it looks like the reason for devenv having it’s own cli, and now is making the switch to Tvix, is based around caching nix evaluation. But why can’t the nix run command be improved to do this caching? Wouldn’t that benefit everyone and also solve the issue you’re trying to solve in devenv?

2 Likes