guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Should Guix support writing CLI Common Lisp scripts? (Think Roswell)


From: bokr
Subject: Re: Should Guix support writing CLI Common Lisp scripts? (Think Roswell)
Date: Tue, 27 Dec 2022 23:06:31 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

Hi Jgart,

On +2022-12-27 19:23:18 +0000, jgart wrote:
> > I'm not sure what you mean if it is something beyond what we can do already 
> > with 'guix shell.' Do
> > you mean using a particular hashbang as well? 
> 
> Yes, that is one feature that I was nodding ambiguously at. Sorry
> 
> > guix shell sbcl sbcl-cl-csv unoconv -- sbcl --load myscript.lisp 
> > ~/Downloads/*.xlsx
> 
> That command is too long. What Roswell does is create binaries and installs 
> them in your PATH for your usage like a traditional script that you can call 
> without also having to call the interpreter in your terminal invocation.
> 
> I want to type just the following and have `myscript` be an executable 
> program available in my `guix home` environment:
> 
> > myscript ~/Downloads/*.xlsx

If bash is interpreting your script, could you use alias 
myscript=YOUR_MAGIC_HERE
to get the concise invocations you want?
(which bash BTW? -- from logind, child of that, or via a guix profile, or 
minimal-something ??)
┌──────────────────────────────────────────────────────────────────────────────┐
│                                  help alias                                  │
├──────────────────────────────────────────────────────────────────────────────┤
│ alias: alias [-p] [name[=value] ... ]                                        │
│     Define or display aliases.                                               │
│                                                                              │
│     Without arguments, `alias' prints the list of aliases in the reusable    │
│     form `alias NAME=VALUE' on standard output.                              │
│                                                                              │
│     Otherwise, an alias is defined for each NAME whose VALUE is given.       │
│     A trailing space in VALUE causes the next word to be checked for         │
│     alias substitution when the alias is expanded.                           │
│                                                                              │
│     Options:                                                                 │
│       -p      print all defined aliases in a reusable format                 │
│                                                                              │
│     Exit Status:                                                             │
│     alias returns true unless a NAME is supplied for which no alias has been │
│     defined.                                                                 │
└──────────────────────────────────────────────────────────────────────────────┘

> 
> I want an automated way to prepare the script for that command line user 
> experience. That is the convenience that roswell provides. I agree that is is 
> sweet sugar but I'm lazy and don't want to type long CLI invocations.
>

I think it's possible, the question for me is what language
do you want to code your automation in :)

> Thanks for sharing the above though.
> 
> It's great to see how people are using `guix shell`.
> 
> Given what I said, I might just do what you're suggesting John, because I'm 
> not sure when I'll be able to implement a solution like the roswell one in 
> Guix.
> 
> Thanks for your thoughts on the topic. They are appreciated.
> 
> all best,
> 
> jgart
>
--
Regards,
Bengt Richter



reply via email to

[Prev in Thread] Current Thread [Next in Thread]