> > So the true question is how to implement? If using Shell script > > Using shell scripts would mean one script per command? I usually > have a set of commands that I would like to be able to run for > every project. I would like to minimize the number of extra files > in my project directory, so I would lean towards your Scheme API > option. There's nothing that stops a shell script from exposing multiple commands. Consider for example the SysV init scripts. They typically utilize the `case` statement to support commands like "start", "stop", "status", etc. So you could craft a solution where from the root of your project you can run `./my-script.sh command1`, `./my-script.sh command2`, etc. Also, you mentioned you "would like to minimize the number of extra files" in your "project directory". Does that mean you don't actually mind creating more files in a *subdirectory* thereof? If you don't, how about putting command scripts under, say, `my-scripts/` and running them as `my-scripts/command1.sh`, `my-scripts/command2.sh`, etc.? Wojtek -- (sig_start) website: https://koszko.org/koszko.html PGP: https://koszko.org/key.gpg fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A Meet Kraków saints! #25: blessed Maksymilian Binkiewicz Poznaj świętych krakowskich! #25: błogosławiony Maksymilian Binkiewicz https://pl.wikipedia.org/wiki/Maksymilian_Binkiewicz -- (sig_end) On Mon, 12 Dec 2022 12:55:39 -0500 Peter Polidoro wrote: > zimoun writes: > > > Because calling “guix serial-shell PORT=/dev/ttyUSB0” or > > “guix-serial-shell PORT=/dev/ttyUSB0” is almost identical. :-) > > Yes good point. > > > > > So the true question is how to implement? If using Shell script > > Using shell scripts would mean one script per command? I usually > have a set of commands that I would like to be able to run for > every project. I would like to minimize the number of extra files > in my project directory, so I would lean towards your Scheme API > option. > > > From my point of view, in this case, maybe an extension is a > > heavy > > solution when a quick script would just smooth the workflow. > > Maybe it is too heavy a solution, but I do like the idea of just > needing the channels.scm, the guix.scm, and maybe a Makefile for > people who do not use guix. Or am I wrong and I would need more > files than that? > > I also like that a user could find information about the project > commands using guix help. Can command extensions be grouped into a > single sub-command so I would not feel like I am polluting the > guix command namespace? Like could I run something like "guix > project serial-shell PORT=/dev/ttyUSB0" or "guix project help" to > get the set of project-specific commands that I added as > extensions? > > Is there some sort of extension bootstrap process where you run an > intial command in the project directory every session to add the > extensions, then the extensions are available for future commands?