guix-devel
[Top][All Lists]
Advanced

[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)

Hi!

Ricardo Wurmus <rekado@elephly.net> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> Hi Ricardo,
>>
>> Ricardo Wurmus <rekado@elephly.net> 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---
-CN
--with-source=package-name=some-url
[...]
--8<---------------cut here---------------end--------------->8---

Would something like that help?

-- 
Thanks,
Maxim



reply via email to

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