Hello, > By separate file or stdin your really mean stdin, correct? As in: > > --8<---------------cut here---------------start------------->8--- > guix something < args.txt or > echo "$args" | guix something > --8<---------------cut here---------------end--------------->8--- > > One note: since this mechanism could be generally useful, it should be > globally available (like 'guix build' options), for any 'guix' > invocation. > Actually, while using this shell script you could also pass a file directly i.e all of these will work: -----(shell)------ ./guix-shell-with-args /path/to/some/file-with-args ./guix-shell-with-args < /some/other/file echo "something from stdin" | ./guix-shell-with-args ------------------- If needed we could modify the script to only accept a file when a flag like --read-args-from-file is passed. It's a proof of concept, and I think some more work would need to be put in for actually implementing it since there are probably a whole class of possible bugs and errors that we have not considered. I agree that it could be beneficial to all guix subcommands; I can see myself using it with `guix package` for example. In this case we could perhaps have a subcommand `guix with-args <subcommand>` which lets you invoke <subcommand> (install, package, build etc) with arguments from stdin or (optionally) a file.
At this point, we have a real Scheme API we can use :-). If there's a > problem with using that, we should work toward improving it. > Yes, on further deliberation I realized that I'm basically writing a DSL atop manifests ^_^" If more people see a use for this suggestion, I could try writing a more polished shell script for `guix with-args` --- Happy Hacking! Sarthak