> I fully agree with this. My argument would be that if everything is
> supposed to go through the command line, then we could work with very
> limited types of expressions - instead of using not very expressive
> Yaml, we could use a not very expressive subset of Scheme.

Sure, if it is possible to define this subset of Scheme clearly, that
could be perfectly acceptable.

> It assumes that people never hand edit these files created by a machine,
> so that they remain in a rather rigid format.

This is a difficult assumption, I think. It's hard to prevent people
from tweaking files. Then, our tools will break and they will be left
with a negative perception of Guix.

> Well, that was not the question, I know you can easily write Scheme;
> I just wondered whether these people's needs could be covered by the
> existing command line tools. For the example you give, manifest files
> could clearly by created and edited by a command line tool as outlined
> above; and "guix shell" already is a command line tool.
>
> Maybe we need a concrete "workflow", an example of what people would
> like to do on the command line, and which they cannot do right now?

Fair point. I agree that guix shell is already a decent starting point.

But, I find that surprisingly many researchers want to use fairly niche
software packages that are specific to their domain. These packages are
usually not packaged for Guix, and the researchers end up having to
package it themselves. As a result, they are suddenly swamped by a full
package definition in Scheme. After a few heroic attempts at making it
work, they give up and go back to conda.

Another common workflow I myself have to do often is to create channels.
Creating a Guix channel is a lot of manual file editing, orphan branch
creating, etc., etc. CLI tooling to automate such things would be very
welcome. I even tried to write such tooling but was deterred by the
complexity of programmatically editing arbitrary Scheme code.

Reply via email to