From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id wMKdJQr2FWNQPwEAbAwnHQ (envelope-from ) for ; Mon, 05 Sep 2022 15:13:46 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id aF7EJAr2FWONWwEAG6o9tA (envelope-from ) for ; Mon, 05 Sep 2022 15:13:46 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 457A329774 for ; Mon, 5 Sep 2022 15:13:46 +0200 (CEST) Received: from localhost ([::1]:33500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oVBv3-0003zs-Rb for larch@yhetil.org; Mon, 05 Sep 2022 09:13:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37570) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oVBpa-0002q2-KO for bug-guix@gnu.org; Mon, 05 Sep 2022 09:08:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58093) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oVBpa-0003bJ-Bb for bug-guix@gnu.org; Mon, 05 Sep 2022 09:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oVBpZ-0008W5-TY for bug-guix@gnu.org; Mon, 05 Sep 2022 09:08:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#57467: 'guix shell' does not honor default behavior when given a specific command to run Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 05 Sep 2022 13:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57467 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: "Thompson, David" Cc: 57467@debbugs.gnu.org Received: via spool by 57467-submit@debbugs.gnu.org id=B57467.166238323132661 (code B ref 57467); Mon, 05 Sep 2022 13:08:01 +0000 Received: (at 57467) by debbugs.gnu.org; 5 Sep 2022 13:07:11 +0000 Received: from localhost ([127.0.0.1]:46788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oVBog-0008Ue-Ht for submit@debbugs.gnu.org; Mon, 05 Sep 2022 09:07:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oVBoa-0008U6-GN for 57467@debbugs.gnu.org; Mon, 05 Sep 2022 09:07:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37396) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oVBoV-0003Sm-5l; Mon, 05 Sep 2022 09:06:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=XS2DQzzL/FgwxhBYUlSzt87gtX2PcNtdYXb7n91nxDk=; b=ok0ymfr4e9e5gGpQlFwQ tEbNzPE1Au9wkFvp54q0RDa5WSQJyDJkCoPQjiLwoA230bTTIi2CaxnEVyGAiRUtdQ4o5jVIrZoCw rtTU2npsSMcsICF63yiJFzyePdV05vUr0UgokxeaKtqA9bdhsWa688290w+vjytV7imGgesEmxGTE qC5uaOTQEdBjV6Uv2wo/o0oILJlMWBNQ/F2sHMzD3QhLFbbtLo+SwDzeNiML3TzTDZ0KzUpnHyhx2 0EVk0QnnXbRqnUrzmdZjgn3o4d0mJHRd9AxeQOwkV1wLCdM7OX37Q6fKbAs2Lv3I1UCnBnOg3Ql45 7BzRNjb1TwiD5Q==; Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=57022 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oVBoU-0001uB-HW; Mon, 05 Sep 2022 09:06:54 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: Date: Mon, 05 Sep 2022 15:06:52 +0200 In-Reply-To: (David Thompson's message of "Tue, 30 Aug 2022 15:26:34 -0400") Message-ID: <871qsq3r83.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1662383626; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=XS2DQzzL/FgwxhBYUlSzt87gtX2PcNtdYXb7n91nxDk=; b=HKl7KCaX6Gfzz4OIGEkHcPHLbzEts2/1VYgMTPB06dIAlJiHjw+PvK/iiePxVk5qsMeSpg qViX9OfTSPaySHh/YQ7yEJ2ARIZlxlAM2vjGcKQ2HFwJTKBhqCaxpDbFex5hPVTdVj9O1S vC8iCjCIjpKPQLQdwjgy+b3xq3Kp9mUiGhUpFpI9jZP1/dRlC7nfWJo5UEvrNjUwW42iMM Pd/M7BkhK8xOFKqD44ah2hxE8qQXOIbvahrpFpm5zwJgGaA5IVBIMrN92A3fcPM/LzPAaS itEkKMMgQNY2sWbqQdgwuTOiMimxFLSCsjCbJ8VCmKQQ/gEIjbAo1DFZ1frljg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1662383626; a=rsa-sha256; cv=none; b=CbGef6p552Tx2ZH4l2jQ9n8ZkoiWJc8vGLMG4D1vgaB5IDzlMwuSEv9Q3xgplYqyPaYDLu sISHTjpboBlEfWIRcHAbJyYcb1AVV5U6UUNXycpbZLL1FkQ6Jug/AOp0lolPFtE83GnBYI nVcD6LUK9DYeXJbwekzkGBI1cNW1ol+Sbl4LgzC3xNJ+W1M0sytLo5Op3oioii4al9MX7Y ilx7WZFZSTm0vk6kF/14q2AvLkCoNbRv3+/PZpD0bUXs6J1uPyVuvS+tfP9x/UgVxwrjxe cGOFtta/QM4Y6d7SmVyP/nutTp9ZFmMZE20orTcRXVzNbYl2nerPCJc4H7dEIA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=ok0ymfr4; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.17 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=ok0ymfr4; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 457A329774 X-Spam-Score: -2.17 X-Migadu-Scanner: scn1.migadu.com X-TUID: aMIvmgMGhLX3 Hi David, Thanks for your feedback on this. "Thompson, David" 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 followi= ng > 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 oth= er > 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=E2=80=99m rather satisfied with the current behavior, though I=E2= =80=99m 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=E2=80=99ll have to devise a migration timeline etc. (As an example, we chose to keep =E2=80=98guix environment=E2=80=99 until at least= May 2023; all this must take time if we want to avoid breaking user workflows.) Thoughts? Thanks, Ludo=E2=80=99.