Live data from Hacker News

Tvix – A New Implementation of Nix

tvix.dev

31–40 of 107 posts

Re: Tvix – A New Implementation of Nix

#32
post #2

PS: TVL is international, but a lot of the development will take place in our office in Moscow. Say hi if you're around and interested! That's going to be a no from me.

Imagine if we had said the same about Nginx. Let's evaluate things on technical merits, specially if they are using open source licenses we understand. In this case GPL v3.

Yes, imagine if we had said the same about Nginx. Now let's imagine now that we're saying those things in 2024, during the first major land war in Europe since WWII, in a context where state actors, if they are not already Jianing Tan, have enormous motivation to do so.

Now, let's put the risk at the root of the build system, and leave the lead devs in a country known to coerce, threaten, torture, poison and kill its dissidents.

That's a no from me, dawg. Look outside, it's not 2015 anymore.

Re: Tvix – A New Implementation of Nix

#33

Does tvix support targeting windows? And I do not mean WSL. iirc, the nix attempted a windows port but there were some hardcoded assumptions made about unix in the implementation that made it intractable, for example the location of the store. Do these issues also hold for tvix?

Tvix developer here; we do have Windows in mind. Rust makes a bunch of things easier regarding this, but _not everything_. It's not a priority.

The location of the store is not really the main blocker in those sorts of situations, IMHO.

Re: Tvix – A New Implementation of Nix

#34

There's no need for more fragmentation in this ecosystem. Already package managers are heavily fragmented in the Linux world. This is making a bad problem worse.

Tvix developer here; Tvix is quite different from Nix and is a clean restart, in my humble opinion, it would be quite hard to integrate some features of Tvix in the current Nix because you have two targets: (a) getting the feature in the existing architecture of Nix (b) evaluating a good architecture for the feature itself in the ideal architecture.

Re: Tvix – A New Implementation of Nix

#35
Looks like the dev team mosly speaks Russian? (Russian is native for me, but I've lived most of my life stateside.)

In Russian, "tvix" is pronounced, roughly, "tweaks" (but with a German - hard "v" - W sound), which to a Russian probably sounds super clever, given what Tvix is (Nix, tweaked).

In English though, how is it pronounced? I'd like to propose "t-f-icks", because it at least sounds like a candy we think the Lebowski nihilists might well have been ordering at a diner.

Re: Tvix – A New Implementation of Nix

#36
post #9
post #8

It's worth noting that tvix explicitly[1] does not support flakes. [1] https://lobste.rs/s/ypwgwp/tvix_we_are_rewriting_nix#c_zvtze...

This seems to be from 2 years ago, a lot of things could have changed. He seemed quite opinionated on flakes, but the only bad thing that I can see to flakes is that you cannot pass args to them, for imo no valid reason, you have to use the file+file protocol and update the inputs each time to have a reasonable way to pass parameters...

(Tvix developer here) 2 years after, Flakes are still what they are, IMHO, a pile of layering violations.

I do not see a path forward for them in Tvix before we get to fix them layer by layer, which Nix is trying to do (slowly?).

At some point, once we stabilize a bunch of things, I have some plans to do what I call the right design of Flakes, but it does not involve modifying completely the core of the interpreter to leak this implementation detail everywhere, but more make this a library concept.

Re: Tvix – A New Implementation of Nix

#37

Earlier quoted context omitted.

Check out devenv.sh from the Cachix people, it allows you to list stuff like pip for any language, including services / postgresql extensions: { pkgs, ... }: { services.postgres = { enable = true; package = pkgs.postgresql_15; initialDatabases = [{ name = "mydb"; }]; extensions = extensions: [ extensions.postgis extensions.timescaledb ]; settings.shared_preload_libraries = "timescaledb"; initialScript = "CREATE EXTEN…

Interesting, but the word "containers" is scaring me. I wanted just a simple tool to download and install several libraries and not a full Docker/Kubernetes level system... But it looks like a good choice for running tests in CI.

I think containers are completely optional and it can install and run everything directly.

Re: Tvix – A New Implementation of Nix

#38
post #2

PS: TVL is international, but a lot of the development will take place in our office in Moscow. Say hi if you're around and interested! That's going to be a no from me.

That post is from 2021, pre-big war (but post-2014 one, which nobody noticed). In 2021, stopping by and saying hi wouldn've have been all that preposterous.

Re: Tvix – A New Implementation of Nix

#39
post #9
post #8

It's worth noting that tvix explicitly[1] does not support flakes. [1] https://lobste.rs/s/ypwgwp/tvix_we_are_rewriting_nix#c_zvtze...

This seems to be from 2 years ago, a lot of things could have changed. He seemed quite opinionated on flakes, but the only bad thing that I can see to flakes is that you cannot pass args to them, for imo no valid reason, you have to use the file+file protocol and update the inputs each time to have a reasonable way to pass parameters...

Most flakes make it a pain to cross-compile, too, especially to platforms other than the "big four" ({aarch64,x86_64}-{linux,macos}), as compared to overlays.

(That said, the tooling around flakes is so much nicer that I still use and recommend them.)

Post reply on HN