GNU bug report logs -
#50960
[PATCH 00/10] Add 'guix shell' to subsume 'guix environment'
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Sat, 2 Oct 2021 10:22:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #71 received at 50960 <at> debbugs.gnu.org (full text, mbox):
Ludovic Courtès <ludo <at> gnu.org> skribis:
> The differences to ‘guix environment’ are:
>
> 1. ‘--ad-hoc’ is the default.
>
> ‘guix shell hello’ ≍ ‘guix environment --ad-hoc hello’
> ‘guix shell -D hello git’ ≍ ‘guix environment hello --ad-hoc git’
>
> 2. ‘guix shell’, without arguments, loads ‘guix.scm’ or ‘manifest.scm’
> from the current directory or one of its ancestors.
>
> 3. ‘--load’/‘-l’ is not ‘-f’/‘--install-from-file’ for consistency with
> ‘guix package’.
>
> 4. ‘guix shell’ without arguments maintains a cache, such that, the
> second time you run it, it runs in ~0.1s (it does not even need to
> connect to the daemon).
>
> If you run ‘guix pull’ and run again ‘guix shell’, it recomputes
> the environment, as is currently the case with ‘guix environment’.
Oh, I had another goal in mind, which was to make it easy to use ‘guix
shell’ in shebangs.
Problem is, since it’s called ‘guix shell’ and not ‘guix-shell’, we have
to use ‘/usr/bin/env -S’ anyway as the shebang so it splits arguments.
And with ‘-S’, we can already do pretty much everything we want. Here’s
a shell script:
--8<---------------cut here---------------start------------->8---
$ cat t.sh
#!/usr/bin/env -S guix shell hello bash -- sh
type -P hello
hello
--8<---------------cut here---------------end--------------->8---
Should we simply document it or should we do something more?
For the record, ‘nix-shell’ has shebang support where it can interpret
“special” lines as arguments:
https://nixos.org/manual/nix/stable/#sec-nix-shell
Ludo’.
This bug report was last modified 3 years and 210 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.