guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Optional runtime dependencies in Guix


From: Gammel Holte
Subject: Optional runtime dependencies in Guix
Date: Sun, 23 Nov 2014 03:43:13 +0000

Hello,

I'm glad to see all interesting ideas from Nix being implemented as a DSL on top of Scheme, which makes an awesome combination.

That said, I would like to bring up an issue I've faced multiple times while using Nix, hoping that Guix can adopt a better solution here: optional runtime dependencies.

Nix doesn't have a good decoupling between packages and their optional runtime dependencies. You can disable them, but this would lead to a different package hash, and thus a different build (negating the use of prebuilt binaries).

Therefore, the culture seems to have all default package builds with all optional runtime dependencies on. This leads to situations such as installing mutt, and getting python as a dependency (via mutt -> gpgme -> glib -> python), which is quite ugly.

Installing many unneeded packages in your system is undesirable for many reasons. It has bothered me when using Nix in small embedded systems due to resource limitations.

I haven't come up with any solution that also preserves purity. Perhaps one needs to draw a line between what is a package dependency and what isn't. In my option, a glib build is the same in the presence or absence of python, just like firefox is the same whether you have flash installed or not.

Alex.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]