From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id QH+EEUdnbGcCEQEA62LTzQ:P1 (envelope-from ) for ; Wed, 25 Dec 2024 20:12:55 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id QH+EEUdnbGcCEQEA62LTzQ (envelope-from ) for ; Wed, 25 Dec 2024 21:12:55 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Pap1d6zh; 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=1735157574; 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:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=qK7tIq2VwKIGP5+g8IFVxMI2KJUs4MfJgVJ/R5eT3HI=; b=ANuH9i/IQFhKmksXy35TecL8RQo+PPRqY6DVmQcd/ZDg9FiKWtd1HccAVDmhINUzCLhbAR +bLmlR9q+0MznMKa5Rm+4v5kcRYoMbjs7jXzoLWi1pMmGyqbQGgW0x6po57OZ+xao2iFmF xx7L/R43vKs1hW3zRfQSwCQhoLplGUQ4IeCvq/RPDv7AphwDs+G+dKaDcS1WaAsN3u4QwV K4S8e4CYQYIF/PcKoNK5FnbSAU+wCpy72Xs8mKe/naptc5g0DYecdrFJHmV32zbD/vmLWS SlEd8k+Jn4qk1TRiYtu3v5o6oqHS8z364aL92dnPBm9+TKsKNlxuE9oYy52jcg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Pap1d6zh; 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=1735157574; a=rsa-sha256; cv=none; b=IHqFnqX380sY6eTL9xp+mBpU5f2/Y/ffmm+4Fa4zqI+bhioP+aPhR4rZjEtLlQvaqKEKWS gaUd93ZPL3hWbWm/262kmroPHA6DvnLs7BZj0hBAuC23/IK0Vf4KIL+1DQv705iQvaBPpL 09pOQ8/PrO6qJiyGkrZ0Wat03eq4/6EOmWIH+kYFtnAY+stpKJjlB9Rdanalh8HZhT5heT /O9FuOK6gfKZ8Rk2p/4qHSkyaOdBmT1vwCw9en/7ikUNu9hgvj6QYcOkGu7TWHWIE/OuYI 7kSuDPGde/et7U1ax1DclJCv/eX4mE2KWQQ9Ep9sBWP2bmMCbF1zcmUKXg0XUg== 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 25501838F3 for ; Wed, 25 Dec 2024 21:12:54 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tQXjt-0000v6-Ef; Wed, 25 Dec 2024 15:12:17 -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 1tQScd-0007eD-Qh for guix-devel@gnu.org; Wed, 25 Dec 2024 09:44:27 -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 1tQScb-0007nS-Te for guix-devel@gnu.org; Wed, 25 Dec 2024 09:44:27 -0500 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-2165cb60719so65029065ad.0 for ; Wed, 25 Dec 2024 06:44:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735137864; x=1735742664; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=qK7tIq2VwKIGP5+g8IFVxMI2KJUs4MfJgVJ/R5eT3HI=; b=Pap1d6zhyakMX7yShn2+jueLpBqBbuxw6/jrfcuLhue6h0GVt6J+xrznY2uXaXZTuT F0bBPbSsNiFvpo4SpxCq1DCOknlCqJUs/ohlKRlt8+7hjdvPbjj8DPkW/4asWd68dY42 2Ag659/pnIMb43hT89VyDzbU3QXtshSc4Fx3x14jRv4rKrqm9oIWSlhaXp4CgOxjBkLV 0kQDwR+GUsnAODhrBVMtOASaBHE485tQIp7BCGWIJTMoItY+ZEAYvQQvrWcopMiUosXA av6yYolKMDXge5i6QxaS4QKbpcmWEZ9Z2dft6m4oWk+g2PKzLBMqMIi6VElY77yA4eGp BDbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735137864; x=1735742664; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qK7tIq2VwKIGP5+g8IFVxMI2KJUs4MfJgVJ/R5eT3HI=; b=vXkOFDkx/BbAaNpbXXTPdhbNqJvdIux7ypDSxwfZPw8DAMVqWdOvQjOvqq9Umm46qg gxeJRzkBBrERfq2aT9p9FVvwPlrAESM6Bb8lVzk4RLr+CIhwLQwK7oOA31J+UOOVgp5a X5ezW0BBRCNalhpqov0JBtNFPtUXDhm0pit8qDMQ2aAKMiG0s91MDkRH23xB8y+9xFfO 4TSxPa5bLZtOfaylEY9PBMlQiNdwehl+IU9d0r/tqAggzRQG9Gu2XaJ2UDXQ+D6M1rYe oJvp4qVoJ60V3fX6cwj7y9bfijvqf2N+88XznjWE5TWPLndu2Rxc68an5AEWNDs7xv+C WF6w== X-Gm-Message-State: AOJu0YxSnVWgvMU7zhksGTLWw+d0kBJHkP5xZ+ZDrNgNhUoKmFMbRl2C uM1obqeyTQajBsysNdUbKQlOzTB6trzd6vaI6xHTf92yzi5azM6I+8ekSxnS X-Gm-Gg: ASbGnctVXJEzUaWpInawdq7MedrjappFGnrHkOX2OiYPrzBRpUXuD9l9Kq3z4UFkMLy hKVZkb7xaEJ16xRZc1XeP+jUzAK2ZBhd2JDiu7ivf+OmpXG0mNnbDls/yZR7r1xLYHKUtU8KiEg oqfZ49D1h2OYTbO28dAwIVXI3CiUR885oianSx+jHCt/1TrqQkHgJHUkpIsqRIZn+vVP38sGcgH AiC00yDp4DIzt7ch//LNRR6f8cibz2ALWtz62lt8ucRQV4ycyE= X-Google-Smtp-Source: AGHT+IHcaG4OzzEddaqSw/Em/QitoL10oym4ydo+31LoBC6HcTGWE7zc/iLiEBBSJDp1uVHdzOj3xQ== X-Received: by 2002:a05:6a21:8dc2:b0:1e1:ccf3:a72 with SMTP id adf61e73a8af0-1e5e07ffd40mr31205252637.28.1735137864066; Wed, 25 Dec 2024 06:44:24 -0800 (PST) Received: from guix0 ([2406:7400:63:dc0d:b65c:e03:5bcb:5d04]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad8dee97sm11658811b3a.126.2024.12.25.06.44.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Dec 2024 06:44:23 -0800 (PST) From: 45mg <45mg.writes@gmail.com> To: Guix Devel Subject: Why does `system reconfigure` need to `pull`? Date: Wed, 25 Dec 2024 09:44:06 -0500 Message-ID: <8734ibx1op.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-Mailman-Approved-At: Wed, 25 Dec 2024 15:12:15 -0500 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Queue-Id: 25501838F3 X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -3.40 X-Spam-Score: -3.40 X-TUID: N7lMCvLEJsqQ Hi Guix, So I've just installed Guix System on my main machine, and right off the bat, I want to thank everyone here for spending their time on this amazing project. While there have been a few pain points (expect some (minor) patches, hopefully!), the feeling of finally getting `guix system init` to work and then instantly rebooting into the /exact same system/ that I built in a VM over weeks is downright magical. I'm writing to discuss one of the aforementioned pain points. It's one of those things that seems insignificant at first, but I fear it may impact my ability to keep using Guix. Let me explain. Whenever I run `guix system reconfigure`, the first output I see from the command is this: Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.or= g/git/guix.git'... It then says it's fetching and indexing objects, authenticating N new commits, etc. As far as I can tell, this stage is equivalent to `guix pull`. It sometimes repeats this several times during the course of the `reconfigure`. I didn't think much of this at first, although I thought it was odd that the manual did not mention a 'pull' stage [1]. However, I quickly realised that *this makes it impossible to reconfigure without an internet connection*. The command will exit unsuccessfully when it fails to pull [2]. This means that I cannot tweak my system *at all* without an internet connection. Even to do something that doesn't require Guix to download anything - like add a new user, or tweak my `bootloader-configuration`, or fix my `network-manager-configuration` so I can connect to the internet (see the chicken-and-egg issue there?), I must be connected to the internet. For me, this is a huge step backwards from conventional GNU/Linux distributions in terms of usability. My internet connection tends to be extremely flaky, with frequent outages for days or more. This will mean I won't be able to make changes to my system at all during this period. Now, I really want to believe that there's a way around this; that I haven't read the docs enough, and there's some option or command to reconfigure my system without pulling new commits. But I can't seem to find any such thing. (`guix time-machine` has the same problem [3].) Is there really no way to reconfigure my system without an internet connection? P.S. I tried to delve into the source to understand how `reconfigure` works internally, but I was not able to understand much from guix/scripts.scm and the associated files... which means I likely won't be able to address this myself any time soon. Which concerns me all the more, because while I have a stable connection for the next week or so, I don't know how I'll continue using my system once this is no longer the case... --- [1] From '(guix) Invoking guix system': =E2=80=98reconfigure=E2=80=99 Build the operating system described in FILE, activate it, and switch to it. [2] Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.or= g/git/guix.git'... Backtrace: In guix/gexp.scm: 926:4 19 (_ _) In guix/store.scm: 2095:12 18 (_ #) 1412:11 17 (map/accumulate-builds # =E2=80=A6) 1330:8 16 (call-with-build-handler # =E2=80=A6) 2210:25 15 (run-with-store # =E2= =80=A6) In guix/gexp.scm: 931:13 14 (_ _) In guix/store.scm: 2038:8 13 (_ _) In guix/gexp.scm: 300:22 12 (_ _) In guix/store.scm: 2038:8 11 (_ _) In guix/gexp.scm: 300:22 10 (_ _) In guix/store.scm: 2038:8 9 (_ _) In guix/packages.scm: 2050:11 8 (_ _) In guix/build-system/channel.scm: 43:2 7 (_ _) In guix/store.scm: 2082:38 6 (_ #) In guix/channels.scm: 559:23 5 (latest-channel-instances # =E2=80=A6) 422:18 4 (latest-channel-instance # =E2=80=A6) In guix/git.scm: 586:7 3 (update-cached-checkout _ #:connection-timeout _ # _ # _ =E2= =80=A6) In git/bindings.scm: 77:2 2 (raise-git-error _) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: Git error: failed to resolve address for git.savannah.gnu.org: Name or serv= ice not known [3] $ guix describe -f channels > channels.scm $ sudo guix time-machine -C channels.scm -- system reconfigure -L /etc/guix= -system/ /etc/guix-system/config.scm Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.or= g/git/guix.git'...