[Top][All Lists]

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

Re: more package transformations: overrides

From: Maxim Cournoyer
Subject: Re: more package transformations: overrides
Date: Wed, 22 Mar 2023 22:56:55 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)


Ricardo Wurmus <> writes:

> Maxim Cournoyer <> writes:
>> Hi Ricardo,
>> Ricardo Wurmus <> writes:
>>> Hi Guix,
>>> when using package transformations the command line can become crowded
>>> very quickly.  Sometimes I would like to be able to provide a file
>>> containing a set of alternative packages that are used recursively in
>>> the package dependency graph, as some sort of override.
>>> What do you think about extending package transformations to allow for
>>> reading override packages from a file?  The replacements would happen by
>>> matching package names, so a package named “python-pytorch” in my
>>> overrides file would replace the original “python-pytorch” package in
>>> the input graph.  All these packages would be applied as overrides
>>> together.
>> Would you not be better off using a manifest in this case, using the
>> Guix API to apply the transformations?
> I do do that, but I find that this is quite a big jump for many people.
> We have people who know how to add channels, or build a small custom
> library by use the importer for simple packages, but who shy away from
> using transformations in code.
> Considering that the transformations API assumes that you understand
> that higher order functions exist and what to do with them, I think it
> would be good to offer a slightly less advanced method of overriding
> packages.
> Manifests can do anything, but this also makes them rather intimidating
> for many of my colleagues.

OK; then my question would be: why stop at transformations?  Perhaps we
could simply have a way to feed arbitrary guix command line arguments
from a file, e.g.

--8<---------------cut here---------------start------------->8---
guix shell --args-file=my-arguments.txt
--8<---------------cut here---------------end--------------->8---

where my-arguments.txt could contain anything, e.g.
--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---

Would something like that help?


reply via email to

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