* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run @ 2022-08-28 21:58 Thompson, David 2022-08-29 1:28 ` Thompson, David ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Thompson, David @ 2022-08-28 21:58 UTC (permalink / raw) To: 57467 [-- Attachment #1: Type: text/plain, Size: 951 bytes --] Hi, When 'guix shell' is run without arguments, there is some convenient default logic applied to check for a manifest.scm or guix.scm file and do the right thing with it. However, using -- to override the default command like 'guix shell -- make' doesn't do the same thing. I expect that it would still automagically apply manifest.scm or guix.scm but just run the specified command instead of spawning a shell. Instead, 'guix shell' outputs this warning letting me know that something isn't right: guix shell: warning: no packages specified; creating an empty environment On one hand: Sure, I *did* pass arguments (though not flags.) On the other hand: I think this is a bad user experience. I doubt I'm alone in expecting the only difference between 'guix shell' and 'guix shell -- make' to be that 'make' is run instead of a shell. I can implement this if there's some indication that such a patch would be acceptable. Thoughts? - Dave [-- Attachment #2: Type: text/html, Size: 1181 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-28 21:58 bug#57467: 'guix shell' does not honor default behavior when given a specific command to run Thompson, David @ 2022-08-29 1:28 ` Thompson, David 2022-08-29 10:29 ` Maxime Devos 2022-08-30 19:26 ` bug#57467: [EXT] " Thompson, David 2022-09-06 11:33 ` Thompson, David 2 siblings, 1 reply; 15+ messages in thread From: Thompson, David @ 2022-08-29 1:28 UTC (permalink / raw) To: 57467 [-- Attachment #1.1: Type: text/plain, Size: 279 bytes --] Hi again, I decided to just implement the fix and see what people think of it. Simply removing a check for non-interactive invocation solves the issue and now 'guix shell' and 'guix shell -- make' act exactly the same except for which command they run. Patch attached. - Dave [-- Attachment #1.2: Type: text/html, Size: 383 bytes --] [-- Attachment #2: 0001-shell-Look-for-manifest.scm-guix.scm-in-non-interact.patch --] [-- Type: text/x-patch, Size: 1346 bytes --] From f2b8d4a9da5a9df0aef0e9da71a62fd9d285e994 Mon Sep 17 00:00:00 2001 From: David Thompson <dthompson2@worcester.edu> Date: Sun, 28 Aug 2022 21:21:09 -0400 Subject: [PATCH] shell: Look for manifest.scm/guix.scm in non-interactive case, too. Fixes <https://issues.guix.gnu.org/57467>. Fixes a bug where a command like 'guix shell -- make' does not look for guix.scm or manifest like 'guix shell' with no additional arguments does. * guix/scripts/shell.scm (auto-detect-manifest): Remove check for non-interactive invocation that was stopping implicit loading. --- guix/scripts/shell.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index c115a00320..0e9ab0dd94 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -260,14 +260,10 @@ (define (options-contain-payload? opts) ((('expression . _) . _) #t) ((_ . rest) (options-contain-payload? rest)))) - (define interactive? - (not (assoc-ref opts 'exec))) - (define disallow-implicit-load? (assoc-ref opts 'explicit-loading?)) - (if (or (not interactive?) - disallow-implicit-load? + (if (or disallow-implicit-load? (options-contain-payload? opts)) opts (match (find-file-in-parent-directories '("manifest.scm" "guix.scm")) -- 2.37.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-29 1:28 ` Thompson, David @ 2022-08-29 10:29 ` Maxime Devos 2022-08-29 12:48 ` bug#57467: [EXT] " Thompson, David 0 siblings, 1 reply; 15+ messages in thread From: Maxime Devos @ 2022-08-29 10:29 UTC (permalink / raw) To: Thompson, David, 57467 [-- Attachment #1.1.1.1: Type: text/plain, Size: 732 bytes --] On 29-08-2022 03:28, Thompson, David wrote: > Hi again, > > I decided to just implement the fix and see what people think of it. > Simply removing a check for non-interactive invocation solves the > issue and now 'guix shell' and 'guix shell -- make' act exactly the > same except for which command they run. Patch attached. > The interactive check is a feature, not a bug: > https://issues.guix.gnu.org/50960#69: > [...] > Agreed. The automatic reading of guix.scm/manifest.scm, if we keep it, > should only happen in interactive use; I’ll double-check and make sure > this is the case. It might still be possible to solve 57467, but I don't think this patch is the solution. Greetings, Maxime. [-- Attachment #1.1.1.2: Type: text/html, Size: 1495 bytes --] [-- Attachment #1.1.2: OpenPGP public key --] [-- Type: application/pgp-keys, Size: 929 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 236 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: [EXT] Re: bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-29 10:29 ` Maxime Devos @ 2022-08-29 12:48 ` Thompson, David 2022-08-30 13:24 ` Maxime Devos 0 siblings, 1 reply; 15+ messages in thread From: Thompson, David @ 2022-08-29 12:48 UTC (permalink / raw) To: Maxime Devos; +Cc: 57467 [-- Attachment #1: Type: text/plain, Size: 1071 bytes --] Hi Maxime, On Mon, Aug 29, 2022 at 6:29 AM Maxime Devos <maximedevos@telenet.be> wrote: > On 29-08-2022 03:28, Thompson, David wrote: > > Hi again, > > I decided to just implement the fix and see what people think of it. > Simply removing a check for non-interactive invocation solves the issue and > now 'guix shell' and 'guix shell -- make' act exactly the same except for > which command they run. Patch attached. > > The interactive check is a feature, not a bug: > Could you please explain why it's a feature? I've provided an example that shows how it is confusing and unexpected. > https://issues.guix.gnu.org/50960#69: > [...] > Agreed. The automatic reading of guix.scm/manifest.scm, if we keep it, > should only happen in interactive use; I’ll double-check and make sure > this is the case. > > It might still be possible to solve 57467, but I don't think this patch is > the solution. > Could you propose an alternate solution? What are the next steps here? Right now all I know is that you don't like my patch. - Dave [-- Attachment #2: Type: text/html, Size: 2074 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: [EXT] Re: bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-29 12:48 ` bug#57467: [EXT] " Thompson, David @ 2022-08-30 13:24 ` Maxime Devos 2022-08-30 13:39 ` bug#57467: [EXT] " Thompson, David 0 siblings, 1 reply; 15+ messages in thread From: Maxime Devos @ 2022-08-30 13:24 UTC (permalink / raw) To: Thompson, David; +Cc: 57467 [-- Attachment #1.1.1.1: Type: text/plain, Size: 1684 bytes --] On 29-08-2022 14:48, Thompson, David wrote: > Hi Maxime, > > On Mon, Aug 29, 2022 at 6:29 AM Maxime Devos <maximedevos@telenet.be> > wrote: > > On 29-08-2022 03:28, Thompson, David wrote: >> Hi again, >> >> I decided to just implement the fix and see what people think of >> it. Simply removing a check for non-interactive invocation >> solves the issue and now 'guix shell' and 'guix shell -- make' >> act exactly the same except for which command they run. Patch >> attached. >> > The interactive check is a feature, not a bug: > > Could you please explain why it's a feature? The quoted text was my explanation. Maybe that thread has more information, or failing that, maybe the person I quoted knows why. > I've provided an example that shows how it is confusing and unexpected. Your example was "guix shell -- ...", not interactive checks in general. > >> https://issues.guix.gnu.org/50960#69: >> [...] >> Agreed. The automatic reading of guix.scm/manifest.scm, if we >> keep it, >> should only happen in interactive use; I’ll double-check and make >> sure >> this is the case. > It might still be possible to solve 57467, but I don't think this > patch is the solution. > > > Could you propose an alternate solution? What are the next steps > here? Right now all I know is that you don't like my patch. Possibly, but try proposing an alternate solution yourself first. And you know more than that, you know that the interactive check shouldn't be simply removed and have a link to a discussion that may have more information. Greetings, Maxime [-- Attachment #1.1.1.2: Type: text/html, Size: 4466 bytes --] [-- Attachment #1.1.2: OpenPGP public key --] [-- Type: application/pgp-keys, Size: 929 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 236 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: [EXT] Re: [EXT] Re: bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-30 13:24 ` Maxime Devos @ 2022-08-30 13:39 ` Thompson, David 2022-08-30 14:33 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix 0 siblings, 1 reply; 15+ messages in thread From: Thompson, David @ 2022-08-30 13:39 UTC (permalink / raw) To: Maxime Devos; +Cc: 57467 [-- Attachment #1: Type: text/plain, Size: 1965 bytes --] On Tue, Aug 30, 2022 at 9:24 AM Maxime Devos <maximedevos@telenet.be> wrote: > On 29-08-2022 14:48, Thompson, David wrote: > > Hi Maxime, > > On Mon, Aug 29, 2022 at 6:29 AM Maxime Devos <maximedevos@telenet.be> > wrote: > >> On 29-08-2022 03:28, Thompson, David wrote: >> >> Hi again, >> >> I decided to just implement the fix and see what people think of it. >> Simply removing a check for non-interactive invocation solves the issue and >> now 'guix shell' and 'guix shell -- make' act exactly the same except for >> which command they run. Patch attached. >> >> The interactive check is a feature, not a bug: >> > Could you please explain why it's a feature? > > The quoted text was my explanation. Maybe that thread has more > information, or failing that, maybe the person I quoted knows why. > Oops, I missed this. It looked like a quoted section of my original email so I totally missed it and was confused. My bad. > I've provided an example that shows how it is confusing and unexpected. > > Your example was "guix shell -- ...", not interactive checks in general. > > https://issues.guix.gnu.org/50960#69: >> [...] >> Agreed. The automatic reading of guix.scm/manifest.scm, if we keep it, >> should only happen in interactive use; I’ll double-check and make sure >> this is the case. >> >> It might still be possible to solve 57467, but I don't think this patch >> is the solution. >> > > Could you propose an alternate solution? What are the next steps here? > Right now all I know is that you don't like my patch. > > Possibly, but try proposing an alternate solution yourself first. And you > know more than that, you know that the interactive check shouldn't be > simply removed and have a link to a discussion that may have more > information. > The hostility here and in the other issue where you are applying stop energy to my work is less than appreciated. Please stop it. - Dave [-- Attachment #2: Type: text/html, Size: 4613 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: [EXT] Re: [EXT] Re: bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-30 13:39 ` bug#57467: [EXT] " Thompson, David @ 2022-08-30 14:33 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix 2022-08-30 16:22 ` bug#57467: [EXT] " Thompson, David 0 siblings, 1 reply; 15+ messages in thread From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2022-08-30 14:33 UTC (permalink / raw) To: Thompson, David; +Cc: 57467, maximedevos [-- Attachment #1: Type: text/plain, Size: 557 bytes --] Hi David, Thompson, David 写道: > The hostility here and in the other issue where you are applying > stop energy to my work is less than appreciated. Some healthy ‘stop energy’ was needed here, and in bug #56444. Please spend that energy on fleshing out requirements and improving the patches if needed. Maxime's review is a good start. Shopping around for a ‘core dev’ to fast-track these patches disrespects the work Maxime has already put in, and is not how things are done. It won't happen. Kind regards, T G-R [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: [EXT] Re: bug#57467: [EXT] Re: [EXT] Re: bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-30 14:33 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2022-08-30 16:22 ` Thompson, David 0 siblings, 0 replies; 15+ messages in thread From: Thompson, David @ 2022-08-30 16:22 UTC (permalink / raw) To: Tobias Geerinckx-Rice; +Cc: 57467 [-- Attachment #1: Type: text/plain, Size: 1636 bytes --] Hi Tobias, On Tue, Aug 30, 2022 at 11:01 AM Tobias Geerinckx-Rice <me@tobias.gr> wrote: > Hi David, > > Thompson, David 写道: > > The hostility here and in the other issue where you are applying > > stop energy to my work is less than appreciated. > > Some healthy ‘stop energy’ was needed here, and in bug #56444. > It made me feel like my effort was not appreciated or wanted, so I don't think it was healthy. In this case I made a mistake and I'm sorry. I thought Maxime hadn't provided any context for saying something was a feature and not a bug, which is why I asked for clarification and direction so I wasn't at a dead end. I thought I was being dismissed. I tried to find a justification in the source code and couldn't find it, so I thought it couldn't hurt to just submit a patch and figure out what the issues might be. It was a misunderstanding and I'd like to reset and return to talking through the technical issues of this bug report. > Please spend that energy on fleshing out requirements and > improving the patches if needed. Maxime's review is a good start. > Yes, I agree now that I have the context that I missed the first time. > Shopping around for a ‘core dev’ to fast-track these patches > disrespects the work Maxime has already put in, and is not how > things are done. It won't happen. > I am not trying to fast track anything, and certainly not the patch here. I am going to write a separate message to go over the competing desires for 'guix shell' that make my proposed behavior change potentially controversial. Thanks, - Dave [-- Attachment #2: Type: text/html, Size: 2422 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: [EXT] bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-28 21:58 bug#57467: 'guix shell' does not honor default behavior when given a specific command to run Thompson, David 2022-08-29 1:28 ` Thompson, David @ 2022-08-30 19:26 ` Thompson, David 2022-09-05 13:06 ` Ludovic Courtès 2022-09-06 11:33 ` Thompson, David 2 siblings, 1 reply; 15+ messages in thread From: Thompson, David @ 2022-08-30 19:26 UTC (permalink / raw) To: 57467 [-- Attachment #1: Type: text/plain, Size: 1564 bytes --] So there are some competing expectations here. The status quo is that non-interactive invocations of 'guix shell' will not load a guix.scm or manifest.scm file unless explicitly told to via --file/--manifest following the "explicit is better than implicit" philosophy. People like myself who almost exclusively invoke 'guix shell' without any arguments would expect that 'guix shell -- make' would load their guix.scm file like they're used to. It is the latter expectation that is typically the status quo in other language environments. For example, in Ruby land, 'bundle exec foo' runs the command 'foo' non-interactively in the context of a project and you don't have to tell it where to find the conventional Gemfile because it's the default. Treating interactive and non-interactive invocation differently in 'guix shell' was a surprise for me. Of course, 'guix shell -D -f guix.scm -- make' works, but it doesn't "just work." Both viewpoints have their merits and I'm wondering if there's a way to satisfy both expectations. Perhaps 'guix shell -- make' would load guix.scm, but 'guix shell --pure -- make', or any invocation with any flags, would not? Or, less ideal, a new short flag that can be passed that would be the equivalent of `-D -f guix.scm` (or the manifest.scm variant) to at least make for less typing. Personally, I think that defaulting to loading from a conventional file when no packages are specified is much more user friendly than generating an empty profile, regardless of interactive vs. non-interactive. Thoughts? - Dave [-- Attachment #2: Type: text/html, Size: 1778 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-30 19:26 ` bug#57467: [EXT] " Thompson, David @ 2022-09-05 13:06 ` Ludovic Courtès 2022-09-05 17:23 ` Thompson, David 2022-09-05 19:53 ` Maxime Devos 0 siblings, 2 replies; 15+ messages in thread From: Ludovic Courtès @ 2022-09-05 13:06 UTC (permalink / raw) To: Thompson, David; +Cc: 57467 Hi David, Thanks for your feedback on this. "Thompson, David" <dthompson2@worcester.edu> skribis: > So there are some competing expectations here. The status quo is that > non-interactive invocations of 'guix shell' will not load a guix.scm or > manifest.scm file unless explicitly told to via --file/--manifest following > the "explicit is better than implicit" philosophy. People like myself who > almost exclusively invoke 'guix shell' without any arguments would expect > that 'guix shell -- make' would load their guix.scm file like they're used > to. It is the latter expectation that is typically the status quo in other > language environments. For example, in Ruby land, 'bundle exec foo' runs > the command 'foo' non-interactively in the context of a project and you > don't have to tell it where to find the conventional Gemfile because it's > the default. Treating interactive and non-interactive invocation > differently in 'guix shell' was a surprise for me. Of course, 'guix shell > -D -f guix.scm -- make' works, but it doesn't "just work." Right. As you note, there were different expectations and constraints when we discussed this. We ended up with a tradeoff that has its pros and cons. The whole discussion took place here: https://issues.guix.gnu.org/50960 As a side note, I think as a project we may want to set up an RFC kind of process to have a documented way to make decisions like these. This would ensure every person who wants to chime in has an opportunity to do so, even people who would not follow implementation discussions or follow the patch stream on guix-patches. Food for thought! > Both viewpoints have their merits and I'm wondering if there's a way > to satisfy both expectations. Perhaps 'guix shell -- make' would load > guix.scm, but 'guix shell --pure -- make', or any invocation with any > flags, would not? Or, less ideal, a new short flag that can be passed > that would be the equivalent of `-D -f guix.scm` (or the manifest.scm > variant) to at least make for less typing. Personally, I think that > defaulting to loading from a conventional file when no packages are > specified is much more user friendly than generating an empty profile, > regardless of interactive vs. non-interactive. The main reason to me for distinguishing non-interactive behavior is ensuring that scripts behave in a deterministic fashion, as opposed to having their behavior dependent on the presence of a file in $PWD. FWIW, I’m rather satisfied with the current behavior, though I’m open to other opinions (and indeed, feedback from users of other tools in this area is much welcome). The main difficulty here is that, should we eventually decide to change behaviors, we’ll have to devise a migration timeline etc. (As an example, we chose to keep ‘guix environment’ until at least May 2023; all this must take time if we want to avoid breaking user workflows.) Thoughts? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-09-05 13:06 ` Ludovic Courtès @ 2022-09-05 17:23 ` Thompson, David 2022-09-05 19:53 ` Maxime Devos 1 sibling, 0 replies; 15+ messages in thread From: Thompson, David @ 2022-09-05 17:23 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 57467-donenotabug, 57467 Hi Ludo, On Mon, Sep 5, 2022 at 9:06 AM Ludovic Courtès <ludo@gnu.org> wrote: > > Hi David, > > Thanks for your feedback on this. > > "Thompson, David" <dthompson2@worcester.edu> skribis: > > > So there are some competing expectations here. The status quo is that > > non-interactive invocations of 'guix shell' will not load a guix.scm or > > manifest.scm file unless explicitly told to via --file/--manifest following > > the "explicit is better than implicit" philosophy. People like myself who > > almost exclusively invoke 'guix shell' without any arguments would expect > > that 'guix shell -- make' would load their guix.scm file like they're used > > to. It is the latter expectation that is typically the status quo in other > > language environments. For example, in Ruby land, 'bundle exec foo' runs > > the command 'foo' non-interactively in the context of a project and you > > don't have to tell it where to find the conventional Gemfile because it's > > the default. Treating interactive and non-interactive invocation > > differently in 'guix shell' was a surprise for me. Of course, 'guix shell > > -D -f guix.scm -- make' works, but it doesn't "just work." > > Right. As you note, there were different expectations and constraints > when we discussed this. We ended up with a tradeoff that has its pros > and cons. The whole discussion took place here: > > https://issues.guix.gnu.org/50960 > > As a side note, I think as a project we may want to set up an RFC kind > of process to have a documented way to make decisions like these. This > would ensure every person who wants to chime in has an opportunity to do > so, even people who would not follow implementation discussions or > follow the patch stream on guix-patches. Food for thought! Yeah, that could be a good future improvement. For what it's worth, though, I do think you gave plenty of opportunity for commenting when you posted that patch set. It was just bad timing for me and I wasn't able to participate in the discussion much. It's all good, I think 'guix shell' is a worthy successor to 'guix environment' as it has better UX and performance. After all, it implements what I wanted from 'guix environment' all those years ago where the --ad-hoc behavior is the default. > > Both viewpoints have their merits and I'm wondering if there's a way > > to satisfy both expectations. Perhaps 'guix shell -- make' would load > > guix.scm, but 'guix shell --pure -- make', or any invocation with any > > flags, would not? Or, less ideal, a new short flag that can be passed > > that would be the equivalent of `-D -f guix.scm` (or the manifest.scm > > variant) to at least make for less typing. Personally, I think that > > defaulting to loading from a conventional file when no packages are > > specified is much more user friendly than generating an empty profile, > > regardless of interactive vs. non-interactive. > > The main reason to me for distinguishing non-interactive behavior is > ensuring that scripts behave in a deterministic fashion, as opposed to > having their behavior dependent on the presence of a file in $PWD. > > FWIW, I’m rather satisfied with the current behavior, though I’m open to > other opinions (and indeed, feedback from users of other tools in this > area is much welcome). > > The main difficulty here is that, should we eventually decide to change > behaviors, we’ll have to devise a migration timeline etc. (As an > example, we chose to keep ‘guix environment’ until at least May 2023; > all this must take time if we want to avoid breaking user workflows.) It seems that I'm all alone in wanting this and it would be far too annoying to go through a deprecation process for a change this small, anyway. I'm going to close this bug. Thanks for the additional context. - Dave ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-09-05 13:06 ` Ludovic Courtès 2022-09-05 17:23 ` Thompson, David @ 2022-09-05 19:53 ` Maxime Devos 2022-09-06 7:18 ` Ludovic Courtès 1 sibling, 1 reply; 15+ messages in thread From: Maxime Devos @ 2022-09-05 19:53 UTC (permalink / raw) To: Ludovic Courtès, Thompson, David; +Cc: 57467 [-- Attachment #1.1.1: Type: text/plain, Size: 797 bytes --] On 05-09-2022 15:06, Ludovic Courtès wrote: > The main difficulty here is that, should we eventually decide to change > behaviors, we’ll have to devise a migration timeline etc. (As an > example, we chose to keep ‘guix environment’ until at least May 2023; > all this must take time if we want to avoid breaking user workflows.) > > Thoughts? "guix shell" is for making packages available in the environment. Currently, "guix shell -- foobar" does not make any packages available -- it's effectively a no-op except for setting GUIX_ENVIRONMENT. As such, I expect nobody is actually relying on "guix shell -- foobar" to not load guix.scm or manifest.scm and I think that if we go for this change, the migration timeline can be rather minimal. Greetings, Maxime. [-- Attachment #1.1.2: OpenPGP public key --] [-- Type: application/pgp-keys, Size: 929 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 236 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-09-05 19:53 ` Maxime Devos @ 2022-09-06 7:18 ` Ludovic Courtès 2022-09-06 11:03 ` Maxime Devos 0 siblings, 1 reply; 15+ messages in thread From: Ludovic Courtès @ 2022-09-06 7:18 UTC (permalink / raw) To: Maxime Devos; +Cc: Thompson, David, 57467 Maxime Devos <maximedevos@telenet.be> skribis: > On 05-09-2022 15:06, Ludovic Courtès wrote: >> The main difficulty here is that, should we eventually decide to change >> behaviors, we’ll have to devise a migration timeline etc. (As an >> example, we chose to keep ‘guix environment’ until at least May 2023; >> all this must take time if we want to avoid breaking user workflows.) >> >> Thoughts? > > "guix shell" is for making packages available in the > environment. Currently, "guix shell -- foobar" does not make any > packages available -- it's effectively a no-op except for setting > GUIX_ENVIRONMENT. True, though you could always have scripts that read: guix shell $packages -- whatever and that will suddenly behave differently if $packages expands to an empty string. Tricky! Ludo’. ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-09-06 7:18 ` Ludovic Courtès @ 2022-09-06 11:03 ` Maxime Devos 0 siblings, 0 replies; 15+ messages in thread From: Maxime Devos @ 2022-09-06 11:03 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Thompson, David, 57467 [-- Attachment #1.1.1.1: Type: text/plain, Size: 530 bytes --] On 06-09-2022 09:18, Ludovic Courtès wrote: >> "guix shell" is for making packages available in the >> environment. Currently, "guix shell -- foobar" does not make any >> packages available -- it's effectively a no-op except for setting >> GUIX_ENVIRONMENT. > True, though you could always have scripts that read: > > guix shell $packages -- whatever > > and that will suddenly behave differently if $packages expands to an > empty string. Tricky! Right, I didn't think of such uses. Greetings, Maxime. [-- Attachment #1.1.1.2: Type: text/html, Size: 1012 bytes --] [-- Attachment #1.1.2: OpenPGP public key --] [-- Type: application/pgp-keys, Size: 929 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 236 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#57467: 'guix shell' does not honor default behavior when given a specific command to run 2022-08-28 21:58 bug#57467: 'guix shell' does not honor default behavior when given a specific command to run Thompson, David 2022-08-29 1:28 ` Thompson, David 2022-08-30 19:26 ` bug#57467: [EXT] " Thompson, David @ 2022-09-06 11:33 ` Thompson, David 2 siblings, 0 replies; 15+ messages in thread From: Thompson, David @ 2022-09-06 11:33 UTC (permalink / raw) To: 57467-done ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2022-09-06 12:43 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-08-28 21:58 bug#57467: 'guix shell' does not honor default behavior when given a specific command to run Thompson, David 2022-08-29 1:28 ` Thompson, David 2022-08-29 10:29 ` Maxime Devos 2022-08-29 12:48 ` bug#57467: [EXT] " Thompson, David 2022-08-30 13:24 ` Maxime Devos 2022-08-30 13:39 ` bug#57467: [EXT] " Thompson, David 2022-08-30 14:33 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix 2022-08-30 16:22 ` bug#57467: [EXT] " Thompson, David 2022-08-30 19:26 ` bug#57467: [EXT] " Thompson, David 2022-09-05 13:06 ` Ludovic Courtès 2022-09-05 17:23 ` Thompson, David 2022-09-05 19:53 ` Maxime Devos 2022-09-06 7:18 ` Ludovic Courtès 2022-09-06 11:03 ` Maxime Devos 2022-09-06 11:33 ` Thompson, David
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).