From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id 8DmxBt86XmRQsQAASxT56A (envelope-from ) for ; Fri, 12 May 2023 15:10:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id kMaxBt86XmS9AAAA9RJhRA (envelope-from ) for ; Fri, 12 May 2023 15:10:55 +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 EA20282DC for ; Fri, 12 May 2023 15:10:54 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pxSXQ-0003YQ-0y; Fri, 12 May 2023 09:10:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxSXP-0003YG-9Q for help-guix@gnu.org; Fri, 12 May 2023 09:10:23 -0400 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pxSXL-0004xa-B9 for help-guix@gnu.org; Fri, 12 May 2023 09:10:22 -0400 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-3f3faefc92cso31878511cf.3 for ; Fri, 12 May 2023 06:10:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=worcester-edu.20221208.gappssmtp.com; s=20221208; t=1683897018; x=1686489018; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=e33lVk04yx5PB1RovCpPPPGbBxwlvfPMKW8A8XPyCFo=; b=OR+T3DhaXW83vlSlbcX7ygJRMqKDaUZcaOFApX85vS7ijh0UDjv+EFVyAC63A++coC 4eyhRiodJ/xI38kQN+GQUGIrBj/toreMTB93iwI8gQ0drfb3oDEAZhXINEpsEvffsun0 M+tpufWxB578RAowt28ZyyH7tLY6iqLsLTljx1mJRbxH/onpZfoYOjHmRG2IVI/Wi+rU WtM+d0RHjH8q+GtnTgD6bZx4dbu1DMb92J6QcYUBXD/ByhRpZS7HD05I1P7hsGL2BpWI 0tVbJWr4wJaRl0mDK0vD+9lpOoT0kKEgIFAwy6DAcFCRQxX7bgCBkpx8luUI1DcmnWYB 5/1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683897018; x=1686489018; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e33lVk04yx5PB1RovCpPPPGbBxwlvfPMKW8A8XPyCFo=; b=lcK45tRYrjkdkSVHcaW2SAz0j57i2oXUCPx5MPACUDWCyNXksCPE0wUAx/miqnLOJp Ecss1GmL4LQIxSD13YYIKIMhG8nZmF2VBJ+0WJ8AgiyXh4XcrxYzda0wHuHdnZfjCAJ4 tX6rU22NBRh58kWfuYwjWpnTwnRaKcVAIOeFNQqtNrHfpkBO28LQ6ZXQqvhSmAt47qLF N1saafHmoadw/gm+lcuGHuGYrvzl27p3bGsSv/DH5+Y2Jeg5unp0s9vOhSOvSgo0P3JF wPt8NsvKF2fzi13gaoyFAH0rHF07aU86LQowa6hShdPSTPNwnWwSNV9kXhq7OCrcHfR5 cNqQ== X-Gm-Message-State: AC+VfDzgu3JioyORmYnLPdbHrx0Ab1PP5BC6ze4Y4rAhqkKTH/F5rcAj dc6e658AF4rWmSHd+VWzMLkb1whtquwBWuKgeEFfdwqRZGOoyiM4 X-Google-Smtp-Source: ACHHUZ6l5zhPLGXIsHCymK8xMih+OUOljXraHUEMpQGLYA4nfjklVlhE8AbYvg3L8OemktksxjoA+noXURl4XwG/xlI= X-Received: by 2002:a05:622a:182:b0:3f3:820f:82a7 with SMTP id s2-20020a05622a018200b003f3820f82a7mr35666127qtw.52.1683897017933; Fri, 12 May 2023 06:10:17 -0700 (PDT) MIME-Version: 1.0 References: <871qjlizan.fsf@gmail.com> In-Reply-To: <871qjlizan.fsf@gmail.com> From: "Thompson, David" Date: Fri, 12 May 2023 09:10:06 -0400 Message-ID: Subject: Re: guix shell without arguments To: =?UTF-8?B?QW5kcsOpIEEuIEdvbWVz?= Cc: help-guix Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::82c; envelope-from=dthompson2@worcester.edu; helo=mail-qt1-x82c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1683897055; a=rsa-sha256; cv=none; b=LCDmxOwa1L12aABR/2htDhRGkN56YCYSY0sZ4v/2Z9kqlDuFTEWzdhg9ApKeZnlIPgarli wpsw49hO4P7PN78+1kiWDOwp3NeRm8RC5699UT9F1y8FFpoRDhQkmDpOSacMbTVNXe2kD+ cf02K0pxQ08540AT6zelSVHLhzT1rTtgbFnLzb7OY1+JUr+wE+K/1ogvbJ6XWetsz7ALIX qHraJm1Z+Gs9dBxorWtb9OMEYThMrhjpS0HX1U6yqAPZK7C071uFUje9qLyWZSoHZynGUW 0rD5gg+H+fZ/n545l/SnTgtDQG5vpxP7yWY8Fz3dDdXjNdMZF5Tdki79P17zWA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=worcester-edu.20221208.gappssmtp.com header.s=20221208 header.b=OR+T3Dha; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1683897055; 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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=e33lVk04yx5PB1RovCpPPPGbBxwlvfPMKW8A8XPyCFo=; b=q/n0zTq+UE56YQ4xUQAr01Howj47WXNDtMXBPkesqzjSHhxqj9UF00M1fdbfUVHDo9XcAv zlquycjKkfYsAl8fwJGLDe+ucppXnE9LnYYzlLqWlgPKtHSuD0Kj63/VOvmYJIFCxX2h1M wY4q16dx8JcOrNyWEukPvTio4pTehtQJIZ+TL5Q3IRkVV4j0pchfwuA4ZNo3aQ3PRb6Pc1 hGCjFbVys+VSPNsVeqfzTYTHniH1CNUw33SW6MX1BLqWi+f8TqKf++Q4wsKxj2hFdVghh/ nNf8N6zxpGSljB2i+oKvS75fXnpTtFNDzhBI9Wd4HwWBjef5g3lX/njVWbHrWQ== X-Migadu-Spam-Score: -10.54 X-Spam-Score: -10.54 X-Migadu-Queue-Id: EA20282DC X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=worcester-edu.20221208.gappssmtp.com header.s=20221208 header.b=OR+T3Dha; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-TUID: NXkMacjRNqSk Hi Andre, On Fri, May 12, 2023 at 7:07=E2=80=AFAM Andr=C3=A9 A. Gomes wrote: > > Hello Guix, > > Issuing guix shell without arguments is equivalent to the command below, > when guix.scm exists in the directory where it's being issued: > > --8<---------------cut here---------------start------------->8--- > guix shell -D -f /path/to/guix.scm > --8<---------------cut here---------------end--------------->8--- > > I am wondering if there's a more succinct way of saying: > > --8<---------------cut here---------------start------------->8--- > guix shell -D -f /path/to/guix.scm -- foo-command > --8<---------------cut here---------------end--------------->8--- > > The incantation below creates an empty environment. But wouldn't it be > nice if it would infer manifest.scm or guix.scm, in case they exist in > the current directory? > > --8<---------------cut here---------------start------------->8--- > guix shell -- foo-command > --8<---------------cut here---------------end--------------->8--- I agree with you! It's a big usability issue! Even though I'm aware of this behavior, I still catch myself trying to do `guix shell -- foo-command` from time to time and being disappointed. I filed an issue about this awhile back and the tl;dr is that the behavior can't be changed (at least not easily) without breaking things for users who have different expectations/needs: https://issues.guix.gnu.org/57467 There seem to be two main use cases that are sort of at odds with each othe= r: 1) Users who invoke 'guix shell' in their terminal and want "do what I mean" implicit behavior (I'm in this group and suspect you are, too) 2) Users who invoke 'guix shell' in scripts and want all behavior to be explicit using flags so that the scripts behave in a reliable way 'guix shell' is primarily focused on case 2, and case 1 is only supported when 'guix shell' has no other args, as you've noticed. Perhaps this is an indicator that we need two different tools. I've thought for years that we need a 'guix develop' (working title) tool that does what 'guix shell' does but also goes beyond by starting containerized services like 'docker compose' can. For example, if a project requires a PostgreSQL database, 'guix develop' could create a shell environment with the client program/library but also automatically start the server using an instance of Shepherd and 'herd' inside the shell could be used to control the service. - Dave