Hacker News new | past | comments | ask | show | jobs | submit login

> it's good to see an ecosystem forming around the derivation data type, with the possibility of reuse across projects that use derivations.

Guix used to use the same derivation format as Nix, but they've since diverged




TIL. Do you have any links that go into more detail about these differences?


I don't have a link with low-level details, but this talk highlighted the main differences: https://xana.lepiller.eu/guix-days-2020/guix-days-2020-andre...


Does Guix have any performance issues?


Sure, just different ones. Compiling Guix and its package modules (aka 'guix pull') takes minutes on powerful hardware, and is nigh impossible on low-end systems. Computing derivations that import a lot of Guile/Guix modules can take some time for the same reason. These computations are cached of course, but still change frequently enough that you'll notice if you have to build them locally (i.e. custom packages not in Guix proper).

OTOH, Guix operates on in-memory representations of profiles, packages and derivations, and delays using the store until an actual build needs to be performed; whereas I believe Nix keeps making RPC's to the store during evaluation (please correct me if this is wrong).

I don't think adding Guix support to Tvix is as easy as plugging in a Guile evaluator, as the Nix tooling would not be able to understand the higher-level abstractions in Guix. You really need Guix and all its supporting modules to evaluate Guix packages.


Thank you! I am wondering, is there a ticket open to follow for optimizing Guix?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: