Re: guix environment shebang interpreter

2020-02-13 Thread EuAndreh via
ml...@posteo.de writes:

> But, one answer there has a possible solution for you:
> https://unix.stackexchange.com/a/399698
>
> --8<---
> #!/bin/sh -
>
> if [ "$1" != "--really" ]; then exec bash --posix -- "$0" --really "$@";
> fi
>
> shift
>
> # Processing continues
> --->8---
>
> It lets the script `exec` itself with the right arguments! So maybe put
>
>  exec guix environment --ad-hoc PKG1 PKG2 ... -- INTERPRETER "$0"
> "$@"
>
> there?

Hmm, I guess that works. It's a bit ugly but does the job. Thanks for
the link.

I also just wanted to check for the existance of such functionality in
Guix already, before pursuing alternatives.

Thanks Moritz :)



Re: guix environment shebang interpreter

2020-02-07 Thread mlell

Great!

however, note that at two different time points, you can get different 
versions of python with
this command as the executing machine might have different versions of 
guix.


Only if you pull a specific version of guix (e.g. with guix pull 
--commit) and have it in your PATH

you will get the same packages.

Best regards,
Moritz

---
OpenPGP: 0xB4CCD0677340821E

Am 07.02.2020 00:22 schrieb John D. Boy:

> Is there a Guix equivalent of the nix-shell shebang?
You could imagine something like:

 #! /usr/bin/env guix environment --ad-hoc PKG1 PKG2 ... --
INTERPRETER

But alas,  on linux you cannot put more than one argument in the 
shebang

line.


I have successfully gotten this to work by passing -S to env:
#!/usr/bin/env -S guix environment --ad-hoc python python-pandas
python-numpy -- python3

See a short test script here:
https://gist.github.com/jboynyc/1faa5dc4e278d5b6284795f780d22764




Re: guix environment shebang interpreter

2020-02-06 Thread John D. Boy
> > Is there a Guix equivalent of the nix-shell shebang?
> You could imagine something like:
> 
>  #! /usr/bin/env guix environment --ad-hoc PKG1 PKG2 ... -- 
> INTERPRETER
> 
> But alas,  on linux you cannot put more than one argument in the shebang 
> line.

I have successfully gotten this to work by passing -S to env:
#!/usr/bin/env -S guix environment --ad-hoc python python-pandas python-numpy 
-- python3

See a short test script here: 
https://gist.github.com/jboynyc/1faa5dc4e278d5b6284795f780d22764



Re: guix environment shebang interpreter

2020-02-06 Thread mlell

Hi!


Is there a Guix equivalent of the nix-shell shebang?



You could imagine something like:

#! /usr/bin/env guix environment --ad-hoc PKG1 PKG2 ... -- 
INTERPRETER



But alas,  on linux you cannot put more than one argument in the shebang 
line.


See this discussion: 
https://unix.stackexchange.com/questions/399690/multiple-arguments-in-shebang


But, one answer there has a possible solution for you: 
https://unix.stackexchange.com/a/399698


--8<---
#!/bin/sh -

if [ "$1" != "--really" ]; then exec bash --posix -- "$0" --really "$@"; 
fi


shift

# Processing continues
--->8---

It lets the script `exec` itself with the right arguments! So maybe put

exec guix environment --ad-hoc PKG1 PKG2 ... -- INTERPRETER "$0" 
"$@"


there?


Cheers,
Moritz



guix environment shebang interpreter

2020-01-20 Thread EuAndreh via
Hi Guix!

Is there a Guix equivalent of the nix-shell shebang?

Sample from Nix documentation
(https://nixos.org/nix/manual/#use-as-a-interpreter):

--8<---cut here---start->8---
#!/usr/bin/env nix-shell
#!nix-shell -i perl -p perl perlPackages.HTMLTokeParserSimple perlPackages.LWP

use HTML::TokeParser::Simple;

...
--8<---cut here---end--->8---

Can I already accomplish this with Guix? If so, how?

I tried searching previous discussions of this topic on Guix mailing
lists, but couldn't find any. If this was disscussed before, could
anyone point me to the thread?

Thanks!