Re: guix environment shebang interpreter
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
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
> > 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
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
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!