Hi! Ricardo Wurmus <rek...@elephly.net> writes:
> Maxim Cournoyer <maxim.courno...@gmail.com> writes: > >> Hi Ricardo, >> >> Ricardo Wurmus <rek...@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