[bug#55317] doc: Clarify guix shell's DWIM behaviour.
Commit Message
---
Bonjour Guix,
as can be seen from <http://logs.guix.gnu.org/guix/2022-05-08.log#164019>,
the way in which guix shell interactively does what you mean is open to
interpretation and different folks may mean different things when
specifying nothing. Therefore, document guix' assumptions more clearly.
Cheers
doc/guix.texi | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
Comments
-------- Original Message --------
On May 8, 2022, 10:29 AM, Liliana Marie Prikler < liliana.prikler@gmail.com> wrote:
---
Bonjour Guix,
as can be seen from <http://logs.guix.gnu.org/guix/2022-05-08.log#164019>,
the way in which guix shell interactively does what you mean is open to
interpretation and different folks may mean different things when
specifying nothing.
Thank you Liliana, this is a helpful change!
Hi,
Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:
> +++ b/doc/guix.texi
> @@ -5693,17 +5693,16 @@ before @command{guix shell} was invoked. The next garbage collection
> (@pxref{Invoking guix gc}) may clean up packages that were installed in
> the environment and that are no longer used outside of it.
>
> -As an added convenience, when running from a directory that contains a
> -@file{manifest.scm} or a @file{guix.scm} file (in this order), possibly
> -in a parent directory, @command{guix shell} automatically loads the
> -file---provided the directory is listed in
> -@file{~/.config/guix/shell-authorized-directories}, and only for
> -interactive use:
> -
> -@example
> -guix shell
> -@end example
> -
> +As an added convenience, @command{guix shell} when invoked interactively
> +without any other arguments will try to do what you mean based on the
> +files it locates in the current directory or parent directories.
> +If it finds a @file{manifest.scm}, it uses this manifest as though
> +it was given via @code{--manifest}.
> +If it finds a @file{guix.scm}, it uses this package file as though
> +it was given via @code{--development --file}.
> +In either case, the file will only be loaded if the directory it
> +resides in is listed in
> +@file{~/.config/guix/shell-authorized-directories}.
> This provides an easy way to define, share, and enter development
> environments.
It’s clearer like this, so go for it! Maybe you can keep the @example
bit as that makes an easily visible anchor in the text.
Thank you,
Ludo’.
@@ -5693,17 +5693,16 @@ before @command{guix shell} was invoked. The next garbage collection
(@pxref{Invoking guix gc}) may clean up packages that were installed in
the environment and that are no longer used outside of it.
-As an added convenience, when running from a directory that contains a
-@file{manifest.scm} or a @file{guix.scm} file (in this order), possibly
-in a parent directory, @command{guix shell} automatically loads the
-file---provided the directory is listed in
-@file{~/.config/guix/shell-authorized-directories}, and only for
-interactive use:
-
-@example
-guix shell
-@end example
-
+As an added convenience, @command{guix shell} when invoked interactively
+without any other arguments will try to do what you mean based on the
+files it locates in the current directory or parent directories.
+If it finds a @file{manifest.scm}, it uses this manifest as though
+it was given via @code{--manifest}.
+If it finds a @file{guix.scm}, it uses this package file as though
+it was given via @code{--development --file}.
+In either case, the file will only be loaded if the directory it
+resides in is listed in
+@file{~/.config/guix/shell-authorized-directories}.
This provides an easy way to define, share, and enter development
environments.