From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 9BAPDWy9XmGBDgEAgWs5BA (envelope-from ) for ; Thu, 07 Oct 2021 11:27:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id uOkoCGy9XmEoSwAAB5/wlQ (envelope-from ) for ; Thu, 07 Oct 2021 09:27:08 +0000 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 C0E1B2D130 for ; Thu, 7 Oct 2021 11:27:07 +0200 (CEST) Received: from localhost ([::1]:39684 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mYPgA-0004Tf-R3 for larch@yhetil.org; Thu, 07 Oct 2021 05:27:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mYPg6-0004TA-QG for guix-patches@gnu.org; Thu, 07 Oct 2021 05:27:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34534) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mYPg6-0001rs-J7 for guix-patches@gnu.org; Thu, 07 Oct 2021 05:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mYPg6-00088g-BQ for guix-patches@gnu.org; Thu, 07 Oct 2021 05:27:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#50960] [PATCH 00/10] Add 'guix shell' to subsume 'guix environment' Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 07 Oct 2021 09:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50960 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "Thompson, David" Cc: 50960@debbugs.gnu.org Received: via spool by 50960-submit@debbugs.gnu.org id=B50960.163359880031258 (code B ref 50960); Thu, 07 Oct 2021 09:27:02 +0000 Received: (at 50960) by debbugs.gnu.org; 7 Oct 2021 09:26:40 +0000 Received: from localhost ([127.0.0.1]:46080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mYPfj-000886-Ut for submit@debbugs.gnu.org; Thu, 07 Oct 2021 05:26:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33136) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mYPff-00087q-M9 for 50960@debbugs.gnu.org; Thu, 07 Oct 2021 05:26:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57960) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mYPfa-0001NH-5t; Thu, 07 Oct 2021 05:26:30 -0400 Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:59162 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mYPfY-0007Jl-CB; Thu, 07 Oct 2021 05:26:29 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20211002102116.27726-1-ludo@gnu.org> Date: Thu, 07 Oct 2021 11:26:25 +0200 In-Reply-To: (David Thompson's message of "Mon, 4 Oct 2021 17:29:26 -0400") Message-ID: <877depdw3i.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1633598827; 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; bh=XvbRvhhtrcB6JSdZhuhqbx32VQamuE/6xWK4u65czyA=; b=mDQERa840OmilP/VCv3E+bvgwi++v57eSEwBD45bUAEJrrLGYFtRLMq7kmZ39IbBTBMAt3 ghIlJ+scscrTIRwALR8sYcstot6oM2x31J1CsIFM03D8fnoMhl1NxxdLjoPCDuARXyXeeb fG9Mf3YH5FApHnJS/mFgUogM5m03EY1rVk/Vz6eK9xLtWgq+UIV2QxiIaQz2mvI6ydC2UV OESJBduQgagStz0Rwmx473lmJYcmtuANwcgn3HRdGCdLnZnPGpcBxDSByB6BJieJDc1kLf Y0RawvP5hcgvcFJ1Skz1x31s9QsnJ0bbJsje7LWWd4MmxNFx4GdlzbSYnmMNqg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1633598827; a=rsa-sha256; cv=none; b=rhMVyqVyK5Mr6dKpYKTX0J347oV2CtM5m21MMncArria9pJRq5SPsVfsislHOAhJ/ZPIge 7g+knFURy/6J1ee4Yl2Y3UiA3U1SnIiafvZfDHZcT4LDVBiZxhw3qfEd8kGYjAWu9st/6N dKAL7YRwRoi+GWGkJpVhwKyFA4P6UC+hdRkU0EIrIito6od0kfmPnZhZ6ASXHZm1u1BawV 9dK6MSVcbRXKhseLSpHWXpMLz0XJ2IgYRZcXCQ4jUn2s8dpCiUG0F4MRXcvftVtCUptr6s 2QiVCJa+RUT9P9Jye3guxtAHvFQaS6IW0q+LWxgpAi30o1wo7B3Sv5LqwBShaQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -1.42 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: C0E1B2D130 X-Spam-Score: -1.42 X-Migadu-Scanner: scn0.migadu.com X-TUID: FLh9cKgMzdLN Hello! "Thompson, David" skribis: > 1) I can't be the only one that thinks it's a pain to rebuild the > whole environment just because I updated the Guix client. It's > especially frustrating when there is a regression that breaks the > project, or the substitute servers are having a bad day. The way I see it, I update Guix precisely to get a newer environment. Otherwise, why would I update it for? > 2) One important use-case for tools like Bundler, npm, etc. is to > exactly (within their limited ability to do so, of course) reproduce > the environment for all developers working on the project. With 'guix > environment', and now with this proposed 'guix shell', the resulting > development environment depends upon the version of Guix being used. > So, to make 'guix shell' a true universal replacement for these > language-specific tools, there should be a way to "lock" to a specific > version of Guix. Bundler has Gemfile.lock, npm has package-lock.json, > etc. Guix has good support for using older versions of Guix already, > so it seems feasible. I spend a non-trivial amount of time sorting > out development environment issues for a couple dozen devs, > so a tool that took most of the variables out of the equation would be > really great. This part is currently addressed by =E2=80=98guix describe -f channels=E2= =80=99 (to pin the Guix revision) and =E2=80=98guix time-machine=E2=80=99 (to spin up a sp= ecific revision). The other tools are totally unaware of revisions and channels. As it stands, developers would use the pinned version by running: guix time-machine --commit=3DXYZ -- shell or: guix time-machine -C channels.scm -- shell Perhaps =E2=80=98guix time-machine=E2=80=99, too, could automatically detect =E2=80=98channels.scm=E2=80=99. The temptation to add revision data to tools that don=E2=80=99t otherwise d= eal with it is real; I think it=E2=80=99s better kept separate though, because fundamentally, each revision lives in its own world. > 3) I haven't looked at the patches to see if it has already been > implemented, but when running 'guix shell' with no arguments, I think > the search for the manifest file should follow the established > conventions of Git, Bundler, etc. and search not only the current > directory, but the parent directory and so on until it finds it or > gets to / and gives up. This will make the tool much more usable when > working inside a subdirectory within a project. It=E2=80=99s implemented (and controversial). > Just some things to think about. I just don't want to see Guix commit > to an interface that slams the door on future improvement due to > compatibility reasons. I mean, what would you even name the next > tool? guix... biome? Good point. :-) Thanks, Ludo=E2=80=99.