On 2023-08-27, Liliana Marie Prikler wrote: > Hi Distopico > > Am Sonntag, dem 27.08.2023 um 13:25 -0500 schrieb Distopico: >> >> Is it possible to define/express CLI options from manifest.scm or >> guix.scm? For example, I have > CLI options are very broadly scoped. For instance, with > transformations, we have a dedicated procedure to turn them into a > transformation that can more easily be used inside a manifest. On the > general side… > >> ``` >> guix shell \ >>      -m manifest.scm \ >>      --container -F -N -P \ >>      --share=/opt/android-sdk \ >>      --share=$HOME/.android/avd \ >>      --share=$HOME/.gradle/ \ >>      --preserve='^DISPLAY$' \ >>      --preserve='^XAUTHORITY$' \ >>      --preserve='^DBUS_' \ >>      --expose=$XAUTHORITY \ >>      --expose=/var/run/dbus >> ``` >> >> Manually invoking this command is not practical, so I have >> `scripts/container.sh`, a script to invoke it, but I think it would >> be much more practical if it's possible to define it in a >> configuration file similar to docker-compose, which allows almost all >> CLI options to be set in the configuration file to avoid having an >> additional configuration file. >> >> Or perhaps a Guile script instead of a shell script? How do others >> handle this here? > … every command is available also as a Scheme procedure that takes its > arguments as a list directly. Thus, you can quite easily transform the > above to > > (use-modules (guix script shell)) > (guix-shell "-m" "manifest.scm" "--container" "-F" "-N" …) > > Of course, if you want to dig deeper, you can also call the functions > guix-shell ends up calling, but whether doing so makes sense is up for > you to decide. > > Happy hacking! Thank you Liliana, I'll tests that option Best