From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id sN/JAJilb2dc+QAAe85BDQ:P1 (envelope-from ) for ; Sat, 28 Dec 2024 07:15:36 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id sN/JAJilb2dc+QAAe85BDQ (envelope-from ) for ; Sat, 28 Dec 2024 08:15:36 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kjOnktgw; 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"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1735370135; 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=a2v0gw6ER3mYkbQPbCKVpIdlcgqQuoVbKDk40GOlW9s=; b=sgxI0U48ehZNjltzPWck4m+vcMP4S+em1yUjxyW18oXyzvSOmtlOFLzDnpiYDbr36gDerk V7GZwh3L+MK83IwLEGz/v/cEbh6RrN2fOQz5cE50iJOETMH2R6rAIl77cq54hTR4U2UFAg gr+qQq5D4OdTIYd8Fy0h/wc9a3YQ2P6bFmfh36Y14t0a2kf8AXtWo78T0IIu6tiU69qoz7 HK0t7P9c/Cm8ZbzlVU3rFGHzaKSfNbGxoE1oOGZcc2SJD2nyzD5tDzmUqxymSFJFJJX8g8 08egrxauCavxkmAvw/WJ9P8tpxs5/sfcU5KLH4PedX2s4bN/7CwrcokSmyLHLw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kjOnktgw; 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"; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1735370135; a=rsa-sha256; cv=none; b=crlLQplwvi762Clt6NieCjG/+ui79893RC3G05ohXiZ+1B7tNVylR+fh0eavxyt3LtUluK lPemfKThsTxT/X6FrtfYrtGB5IcipmUOlbnigaA4ZkBRa1noDei/SbH4TBiLGY/KanpOT2 sB5EN2fAaUNYZCJLMLj7y16FIgA1OMvwIMD+SfoG9auZQWHb+vJi0JJdk1QzVw60QvHH/o bDwn2nor+vvULRWFzweKi9cWjgpwcYR+17WV4uDsC/g8y77DjERq/3i1CuP3mr/3YVXq1T uVCLtpdloVl4dl0gyhKyDcY7kpvuGnNlkAoP6+7EgMWuNJi6VshchvBLoXQvpw== 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 9CBF58112C for ; Sat, 28 Dec 2024 08:15:35 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tRR2R-00022e-IG; Sat, 28 Dec 2024 02:15:07 -0500 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 <45mg.writes@gmail.com>) id 1tRR2P-00020v-Ia for guix-devel@gnu.org; Sat, 28 Dec 2024 02:15:05 -0500 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <45mg.writes@gmail.com>) id 1tRR2N-0000R7-6k for guix-devel@gnu.org; Sat, 28 Dec 2024 02:15:05 -0500 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-21649a7bcdcso95880025ad.1 for ; Fri, 27 Dec 2024 23:15:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735370101; x=1735974901; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=a2v0gw6ER3mYkbQPbCKVpIdlcgqQuoVbKDk40GOlW9s=; b=kjOnktgw4KD+Rbk1lSZYCiUbUC/kM90u9T2SCsjyBW388pfrnWMcQMRD9vq45NFVHR Q9aWHfqPkBfcoTx/jEF/GAr82PKi1GRSuJ8JQ1SbAbT7jerCXbx7JRd/4WRtxNiuBI9V 1Z0lcw0DI1Q4xjmrs8o7pgNlt0Hyf4D3TVKAWRR8SgRhM1d8+L0dR7CYhkIJedDAiLyS 2w7RpFTcBFuq2ANqjsc8OmoVax9BVTFhVUuxO4dO++EYJlNDGWfnCoj8mdKO8U8yFtHJ NyLscD+hpnUtY7R4gU465vcar8aU7bsepcwTJI0/67K3TSHqKjrKutZmW/oidTUD+XyZ w2YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735370101; x=1735974901; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a2v0gw6ER3mYkbQPbCKVpIdlcgqQuoVbKDk40GOlW9s=; b=AKrRFOC2ZMlzuFYO2bJpg10MNkD5PODhALyNZgukxPlS/Jnh/rm0IyadEJkJfmuXrw Z7RPcp9mzY2W1AYrskE0gqgk2Csg+SAk8EqWFXNX5tE43DgOekN97KBoK9E3lRCUaw4/ 66UyI+GWe4WC02yOFvPliVJdcImp60kCq/OMwsICont+k8hg9/lBDejI7OfL1V2r0PVr yexpKndLYGI3XfodvV0UOvloiCLxwFea8uvVUfN3COX2wb0GxPdguuYwMEYAJKminz9M I/JYNNuE3Me4SlVj2ySgvGYQOPywOW/W0DovXTfMudR23xtm8YO+Gth4fHO/Q8a0mZ88 LYow== X-Gm-Message-State: AOJu0YwxmgbaNNdI5h1HcbkcqGx9/i7TsnV+TANNYDbTjGDB4iV9stod iVCciGf/hPau90V3KXtWv5Cj2fIz2jOL6umiJXxtx2W9npNLDDcOqwvp2/4y X-Gm-Gg: ASbGncvcFMJFj0o9sDsp17hiUglmEDot0dbDJz09J8ni5EPcEWscZEeu+VqVg7DtOS+ IbFG6oCznKq/5qgU8roaghFBxKHu/aBpmABOS0kPBoThGN0eEHIldgpMIO5iElHcmFtwTXo6JM9 jUjd6fQZgNp8xBw3EA8DyAhF6kX9GQnQmeizGZtjWQC7VLP5kePV8TkDeyGAbf/h/P2muZr0mRY 7llJaCQ6SesIQN1NLATjxAGr0EgvlTHYB0OIyvA7WyWASMqfnmujmo= X-Google-Smtp-Source: AGHT+IGRhQfylTqJGc4Yu4xFcERpkpS4f90cCmGcQfuXxyJ9ROu8VncQnzMIqKlUTlc1V91LKXsRZQ== X-Received: by 2002:a17:903:230d:b0:20c:9821:69af with SMTP id d9443c01a7336-219e70c018cmr413457645ad.45.1735370101255; Fri, 27 Dec 2024 23:15:01 -0800 (PST) Received: from guix0 ([2401:4900:1cb8:a2d3:f4aa:1246:d469:678a]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dca01919sm145075935ad.241.2024.12.27.23.14.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Dec 2024 23:15:00 -0800 (PST) From: 45mg <45mg.writes@gmail.com> To: Tomas Volf <~@wolfsden.cz> Cc: Guix Devel , Christopher Baines , Ian Eure , =?utf-8?B?RnJhbnRpxaFlayBCb2jDocSNZWs=?= Subject: Docs: Clarify use-cases of `guix-for-channels`? In-Reply-To: <87h66o4xxg.fsf@wolfsden.cz> References: <8734ibx1op.fsf@gmail.com> <87v7v4290e.fsf@gmail.com> <87h66o4xxg.fsf@wolfsden.cz> Date: Sat, 28 Dec 2024 02:14:51 -0500 Message-ID: <87ed1scm8k.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::641; envelope-from=45mg.writes@gmail.com; helo=mail-pl1-x641.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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=ham 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx11.migadu.com X-Migadu-Spam-Score: -4.56 X-Spam-Score: -4.56 X-Migadu-Queue-Id: 9CBF58112C X-TUID: WSJ+jQbAy+mu Hi Tomas, I finally understand that it's my use of `guix-for-channels` that's making it pull when I reconfigure. So, my issue is solved by removing the `(guix)` field from the `(guix-configuration)` form in the configuration I posted. All I was trying to do was specify additional channels in my system configuration, without having to write anything in ~/.config/guix/channels.scm (I prefer for everything related to my system configuration to be tracked by git in a single root-owned directory). It looks like I only need the `(channels)` field of `(guix-configuration)` for that. Is that correct? This would have been obvious to me if I had understood what `guix-for-channels` is actually /for/ from the start. The only reason I ended up using it in the first place is that I was reading through '(guix) Channels' to understand how to configure additional ones, and then I saw this in '(guix) Customizing the System-Wide Guix': > If you=E2=80=99re running Guix System or building system images with it, = maybe > you will want to customize the system-wide =E2=80=98guix=E2=80=99 it > provides=E2=80=94specifically, =E2=80=98/run/current-system/profile/bin/g= uix=E2=80=99. For > example, you might want to provide additional channels or to pin its > revision. >=20 > This can be done using the =E2=80=98guix-for-channels=E2=80=99 procedu= re, which > returns a package for the given channels, and using it as part of your > operating system configuration, as in this example: >=20 > (use-modules (gnu packages package-management) > (guix channels)) >=20 > (define my-channels > ;; Channels that should be available to > ;; /run/current-system/profile/bin/guix. > (append > (list (channel > (name 'guix-science) > (url "https://github.com/guix-science/guix-science") > (branch "master"))) > %default-channels)) >=20 > (operating-system > ;; ... > (services > ;; Change the package used by 'guix-service-type'. > (modify-services %base-services > (guix-service-type > config =3D> (guix-configuration > (inherit config) > (channels my-channels) > (guix (guix-for-channels my-channels))))))) >=20 > The resulting operating system will have both the =E2=80=98guix=E2=80= =99 and the > =E2=80=98guix-science=E2=80=99 channels visible by default. The =E2=80= =98channels=E2=80=99 field of > =E2=80=98guix-configuration=E2=80=99 above further ensures that > =E2=80=98/etc/guix/channels.scm=E2=80=99, which is used by =E2=80=98guix = pull=E2=80=99, specifies the > same set of channels (*note =E2=80=98channels=E2=80=99 field of =E2=80=98= guix-configuration=E2=80=99: > guix-configuration-channels.). If I had really been paying close attention, I would have noticed phrasing like '/maybe/ you will want', and realised that using `guix-for-channels` is /optional/. But since this subsection is under the 'Channels' section of the manual, which explains the basics of using channels - and does not provide any other snippet explaining how to configure channels in the system configuration file - I assumed that the code snippet quoted above is THE Official Way=E2=84=A2 to configure additio= nal channels directly in the system configuration, without using ~/.config/guix/channels.scm; and copied it near-verbatim. I think this could be clarified a little, so that other people who are in a hurry to set things up for the first time don't make the same mistake as me, and then think that Guix needs an internet connection just to reconfigure the system. I could write a patch to the manual for this. Here's what I'm proposing to do: - Add a snippet to '(guix) Specifying Additional Channels', explaining how to configure additional channels within the system configuration file (as per the second paragraph of this message). - In '(guix) Customizing the System-Wide Guix', explain more clearly where `guix-for-channels` would be useful. As I understand it, the main use-case is for fresh system installations where running `guix pull` would be a hassle, such as on an installer ISO. Are there other significant use-cases? Any other reasons why one might want to use it on their main system, despite the hassle of it pulling every time and not caching the derivation? (We should also document that limitation, unless it's likely to change in the near future.)