From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id aK7oAMFBM2PJ+AAAbAwnHQ (envelope-from ) for ; Tue, 27 Sep 2022 20:32:33 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id QLr1AMFBM2PcaAEA9RJhRA (envelope-from ) for ; Tue, 27 Sep 2022 20:32:33 +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 965C015950 for ; Tue, 27 Sep 2022 20:32:32 +0200 (CEST) Received: from localhost ([::1]:54372 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1odFNf-0004Bm-PG for larch@yhetil.org; Tue, 27 Sep 2022 14:32:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1odFMq-0004AT-E9 for guix-devel@gnu.org; Tue, 27 Sep 2022 14:31:40 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:38511) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1odFMo-0003Vs-NH for guix-devel@gnu.org; Tue, 27 Sep 2022 14:31:40 -0400 Received: by mail-wr1-x436.google.com with SMTP id m4so1981460wrr.5 for ; Tue, 27 Sep 2022 11:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:from:to:cc:subject:date; bh=Gmlv/ZaDVJyJ6YdZN2vVIUY10AYfC/lka1J+qVP2oHA=; b=FOiCQHGJKDETG3DGOmoTIatNh4nLxg53w3jgiAR3SuxWh5QNtbLQHvYcg3BfJIM+Gy 57iVs0Ml+VJOabtfuiCIP8+riBkOZ5cP0KAgyWzhcMu7IY/akPzmFHilD5YfaX5vCsEl yWkobAUEvSjK31lOCjLkir9dpURrp6YniXaQ5qA6mvM4R164y+l/pTQXW544BFWz/u4H Ku5yYaGIpdNGdLTh4N9NjuHyHdYfjBH9yjzS0R12DEeVt4msEYD2DuI4EuWN81kWRJlQ 1FDAtLFTh5nziHwcTtJXxO4DvAbAn3tifKeUht6zvHujjyOKJBHbPpVe7MwMXuCmwzuQ moyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:x-gm-message-state:from:to:cc:subject :date; bh=Gmlv/ZaDVJyJ6YdZN2vVIUY10AYfC/lka1J+qVP2oHA=; b=jiKMbrA+c11wuPrmYc1Q8Ntb1F8haJ4gDOak1AikudUSrnKL779lO3r6pSQ5p44FvP 6TN0/AsXVXobPUat+CPGzrqvq1xekHcWpDNmDELi5bZ9R+mc3iitlKa3xLMaiEbp5UWg gLrBTyJUtSP7vN2Ui2OH6lsT4chSW+Wgz7n3jUk08G/9bCRdiFoFakKrzAWCuNkghoHy TbeL/jqbHY4uETuJWYaHujUpFlXHbiNwtNN8pMuQPvsW0hoOz+HPa912rBoC7wQgMCvM QEvtuUmennMTidOFdLwcV+ziQztPJSyw9MTL1dxh3zaBl9Y/k+8x1oFDCkrpSX9qO9HY nMzA== X-Gm-Message-State: ACrzQf0UOva8ZVJyPVl53G/sQ42hsULurNDNCQDZPtjO+4OFHJfmHEN1 C1jKJDiYuh2oTq23hhGkIb0Dev18viU= X-Google-Smtp-Source: AMsMyM5l3I91SNwQMOkmXX0Jr0caLxLHD4f8o9wdelOC/OJQjJrCbTYsYT+UN3R3sCf6GkBmrWGSEw== X-Received: by 2002:adf:f04a:0:b0:22b:237c:3e64 with SMTP id t10-20020adff04a000000b0022b237c3e64mr17109231wro.488.1664303494844; Tue, 27 Sep 2022 11:31:34 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id o20-20020a5d58d4000000b0022adf321d22sm2433024wrf.92.2022.09.27.11.31.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 11:31:34 -0700 (PDT) From: zimoun To: Olivier Dion , "Thompson, David" , guix-devel Subject: Re: Emacs integration for 'guix shell' In-Reply-To: <878rm5m37b.fsf@laura> References: <87czbiugxn.fsf@laura> <86wn9puqj7.fsf@gmail.com> <878rm5m37b.fsf@laura> Date: Tue, 27 Sep 2022 16:39:29 +0200 Message-ID: <86ill8vq3i.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_03_06=1.592, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1664303552; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=Gmlv/ZaDVJyJ6YdZN2vVIUY10AYfC/lka1J+qVP2oHA=; b=cKL5MuXMeuA+B6bvQd5hulZL26kDKBDs0+aONZhlXeRw7HJADGlgLLbaVnp6fGaOWe+GkJ JF/6IiYolVGwHZOBA5w2oKj4Yuuya/sbsHkbk2qjFZHS8rO4mj1KRfUAtDxkIZro1dJUwd 7vXNLgl/8eAIqxdzNO8So5vfYoqDQGS2x64QT1AevSW87ZuKk2p0WUJPQLoYEeDeUMDyB6 5+I2nhj2QuGVjrGP6amSEXc9/481XlIoywnChoTHWJnpmiasmqisY0FfcxyFcNTNV5jPux +5VxjUYypW6c4EY6inymvNkvZ7qO85NAqKP9fNYO6fn9cGrYjNhgbYufsObbuw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1664303552; a=rsa-sha256; cv=none; b=r3lC0fimvFtOcRrRYXeNBb/PnWoZyVgedYXkZ8fcZzqa3C80wMI6k73HLbZAG0P5u8DXvh DxVx5fnBELFyQuu5/7k34zyvroTGNEicEn0yofpFThZzHA/GfQgKUr1zEyEGFI9LPa4duv zbvcSWK8gPKHK1Cnm6Co2bO+EZi3HbrCC4w8n/VrkGSyOlAdBl3BOiwau3/PGinLKL14Ip xwHWWU2wALFDU6FDf+0w2R5BEkaju1dUXsuQNAD4z8sUI4lI9dkvPNmXtlIP4zmq0OMQ9K RIDDTKi+OnzYx5ylMAhNac7UCdIGhfjCHsL2fUZ1LsXNvkzHGZ/jmxPdX7mGVQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=FOiCQHGJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.34 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=FOiCQHGJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 965C015950 X-Spam-Score: -2.34 X-Migadu-Scanner: scn1.migadu.com X-TUID: rc/CqRWCjOEk Hi, On Tue, 27 Sep 2022 at 08:06, Olivier Dion via "Development of GNU Guix and= the GNU System distribution." wrote: > --8<---------------cut here---------------start------------->8--- > #!/bin/sh > guix time-machine -C channels.scm \ > -- shell --pure \ > --development $(basename $(pwd)) \ > -- $@ > --8<---------------cut here---------------end--------------->8--- > > Of course you need to A) have a channels.scm in your project and B) have > your project directory named after the package's name in your > channel. Personally, I prefer the =E2=80=99-m manifest.scm=E2=80=99 approach. Or ma= ybe the =E2=80=99-f guix.scm=E2=80=99 approach. Because I use =E2=80=99guixify=E2=80=99 for more than just =E2=80=9Cdevelop= ing=E2=80=9C. I mean sometimes the manifest is just a list of packages, sometimes it contains some development dependencies, sometimes some extra package definition, etc. Then this file manifest.scm or guix.scm is part of the project, i.e., included in the Git tree of the project. I can re-use it for =E2=80=98guix= pack -f docker -m mnifest.scm=E2=80=99 and generate a Docker pack for colleagues= . I can use it for =E2=80=98guix weather=E2=80=99 and know if the substitutes a= re there before upgrading. Etc. > I was using channel too before! It felt good to pin dependencies to a > version so it does not break while you're developing. Howeverff, I felt > that the time-machine was taking enormous time everytime a push was made > to a channel. It is because you are not using a pinned channel and instead following the HEAD of some channels. Because if you store: guix describe -f channels.scm > channels.scm then the first time you can =E2=80=98guix time-machine -C channels.scm=E2= =80=99 I agree it can take some time (because a compute derivation). But then, each new invocation should be faster because it is cached. However, indeed it is possible that =E2=80=98guix gc=E2=80=99 cleans up the= temporary profile; depending on how often you are working inside this project environment. To avoid this issue, sometime I create a profile inside the project directory, guix time-machine -C channels.scm \ -- package -m manifest.scm \ -p profile then sometime I run =E2=80=98guix package --search-paths -p profile=E2=80= =99; using some options of search-paths as prefix, suffix or exact. Well, the point with this profile is to protect against garbage collection; although it is not a bullet-proof protection. I have never really used =E2=80=98guix shell --root=E2=80=99 but it is probably what is = needed. All that to say that I am not totally happy with my workflow because I do not know what interface I want. :-) Cheers, simon