From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id GMQ8KIO/omCXKwEAgWs5BA (envelope-from ) for ; Mon, 17 May 2021 21:09:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id gFL1I4O/omCvFAAA1q6Kng (envelope-from ) for ; Mon, 17 May 2021 19:09:55 +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 D12DA257D3 for ; Mon, 17 May 2021 21:09:54 +0200 (CEST) Received: from localhost ([::1]:43688 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1liicj-00050a-Od for larch@yhetil.org; Mon, 17 May 2021 15:09:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41284) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1liFpI-0002d3-DR for guix-devel@gnu.org; Sun, 16 May 2021 08:24:57 -0400 Received: from mout-p-101.mailbox.org ([80.241.56.151]:13336) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1liFpA-0002An-1m; Sun, 16 May 2021 08:24:55 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:105:465:1:1:0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4FjhKK4TxKzQk24; Sun, 16 May 2021 14:24:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mailbox.org; h= content-type:content-type:mime-version:subject:subject :message-id:from:from:date:date:received; s=mail20150812; t= 1621167873; bh=rjwAYofV4LPhx5nfDomJFFeafdu5EdFlD6DRubWNlq4=; b=a CePkSmy4m4LqFHvlKFp+o4yQdRkFYt5O4LStgw6MZAeqhHKCTanIF3xWXDZhloLn PfF8z9wlHxgSGNkW5iMm48E8NxH2FxM5EADyW7YehuScG6ouPyZSCfMn5+phtsnk /JoFx47yFuhtueze1F32c77uJNHgnUvIlHMecQzdznlVXXreeG6+h1irdByUqlF8 oYkyrNcZtHS4wiffkDOj1XVCZbklfe/fuD/NT8taG8WOiAU716tV3OdAD/dZ506s KnXIbmpqFxW6Z6hwQ7MS4CEFHMZ6Ioz2WOFqD+vR5zutwEbCcPODvrIUDAt+v51b rmRMl+LRhFHMwYtud1bqg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1621167875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=J62pQOVh5m0CYwLhPIURzOx2lxcBfhNVaJNRtZVmtSc=; b=Dq/iQYN7BfMm4aUyut6+M8wHROBdJ1xN8tJAvt9SUwMqyh1G8kIzGQlK/uCTo94IEUmvsk 6wzETrAxLNHU3m/yydjzH2ASFiREbvslrXKl4tAQoAVs47GSYMhgjGnrEacpQZbIx4W6Dy dwNu9Ri19kblhNN34Lsk1cpbAltL4nZ4RnDcsO9kqSlFfJIGRis6SAOoPOh1CHKfvHWy5w dv/RNbNge0rbcBFzbaztmCDT92UIg6HmrYwXZ9N1K9riVPlU4VMKBLVoWgCqqMA9SoHmUY C93zhhfM7ztIyKog98QfHeyJ1Qd5lVLFXRHx4uR0ui+TC1d/bldQBDr1OoWiGQ== X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp1.mailbox.org ([80.241.60.240]) by hefe.heinlein-support.de (hefe.heinlein-support.de [91.198.250.172]) (amavisd-new, port 10030) with ESMTP id Zx6oAim5u9kg; Sun, 16 May 2021 14:24:33 +0200 (CEST) Date: Sun, 16 May 2021 14:24:33 +0200 (CEST) From: Brendan Tildesley To: "guix-devel@gnu.org" Cc: "ludo@gnu.org" Message-ID: <1367816066.282875.1621167873186@office.mailbox.org> Subject: =?UTF-8?Q?What=E2=80=99s_next=3F?= MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_282874_998383940.1621167873178" X-Priority: 3 Importance: Normal X-MBO-SPAM-Probability: X-Rspamd-Score: -3.90 / 15.00 / 15.00 X-Rspamd-Queue-Id: 65E72188C X-Rspamd-UID: 574c1d Received-SPF: pass client-ip=80.241.56.151; envelope-from=btild@mailbox.org; helo=mout-p-101.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 17 May 2021 14:26:10 -0400 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 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 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1621278595; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=J62pQOVh5m0CYwLhPIURzOx2lxcBfhNVaJNRtZVmtSc=; b=clPqHyiARO3BlrIxOCheBntW/BO4rz5PrvOc/mp0f6rY3oqG77jvLiYDf/OYQCGMeJFMKi sRQ9pmEh1ti6r0F7SSVaqXC0bf4e/Z7qqjG/cod1E3oLNXbtYJSz2fmbIlk4QYUIH1qo8u mOuqAEvf/o9K1zJIwyQp0/dPIChn/CjnjLO/dcIjI5cKupYO4m0AbtQgSDbpddLYI0c9nK 6K/zRWO9+9JQeqc3XvEZYmMXvi01CbNah+gOVicuNV8hRj5+kONuPEqvvqd9qQNHiMRCek MiWYP9CCarWNn0QEmzHNqw8KaKh+bnK2HUmAovP6L3QZ+gHPDCAiP9eqsPpkwA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1621278595; a=rsa-sha256; cv=none; b=I7Has4fAzxSCQ7inEiACpUAcVJyd7xBdPNYIxaQianDSw0Y8JlXaq4/KHyEcHWuydqH0hI LAs0UOtPXBztTWiRvasz//g0JXOfVMsnjWVcfhQ5WcWyPW5y8ISMTrlKmR1/+5ARMEFq2+ jPDwnIG6rru9C7MJ3CNkhQjqcIgDRtwz3FJ5brLueiL+6kaRTb4l50H+lQJwWaxpJht5zP TQ4rfjwdH5YEfffJsPxSbW9olBIsYhm4lfWVMz+KVy/ytk1YQVF+CPqEN0TLpU5yoEaME5 jeo/ntZAXvxRCj/28kC4SXSLq2g1fRwdvH5RZCkjWJXAoAuhkyB9pLfskQw8vQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b="a CePkSm"; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b="Dq/iQYN7"; dmarc=pass (policy=reject) header.from=mailbox.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -1.14 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b="a CePkSm"; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b="Dq/iQYN7"; dmarc=pass (policy=reject) header.from=mailbox.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: D12DA257D3 X-Spam-Score: -1.14 X-Migadu-Scanner: scn0.migadu.com X-TUID: rreqbf85YTsP ------=_Part_282874_998383940.1621167873178 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Since you asked I'll dump my nebulous wishes here. Sorry that I don't have very concrete suggestions and solutions, just things I think could be better. I should also state that 99% of my thoughts about Guix are through the filter of "I want to build a Guix based desktop distribution that can be installed on library, school, and home computers and Just Work better than Microsoft Windows" 1. Improve guix pull and updating reliability. Updating guix for me is often like this: $ guix pull retrieving git objects.... TLS error in stream blah blah blah $ guix pull retrieving git objects..34%......... *dies but doesn't return to the prompt* ctrl-c $ guix pull $ guix upgrade $ sudo guix system reconfigure... GUI desktop crashes back to TTY mysteriously. Basically if guix pull can become as reliable as 'guix pull; guix pull; guix pull; guix pull;, that would be great. I think guix has many code paths pertaining to downloading files where it chooses "Give Up" where "Try 2 or 3 times first" might be better. Often downloads to source tarballs will download at ~30KiB/s. maybe some axel-like system where both upstream an mirror urls are used might be good. Also this may be wrong but from memory I think if the hash is wrong on a source tarball, it will not bother trying to use the guix ci mirror of it, only if it's 404. So people with --no-substitutes can get completely stuck. 2. 'guix system reconfigure' without instantiating the new system until reboot. I think the fact that reconfigure changes the whole system while its running is a bit of a party trick, like pulling the table cloth out without any glasses falling over. For a Desktop GNU/Linux it kinda just accidentally works much of the time. I've always thought I'd prefer the default to simply install the new configuration in to GRUB and tell the user to reboot or add some flag like --instatiate-now. 3. CLI consistency, e.g., $ guix package => nothing $ guix system => guix system: missing command name Try 'guix system --help' for more information. $ guix package --list-generations, but $ guix system list-generations ???\ Also https://issues.guix.gnu.org/47618 4. Make guix simpler and more performant. Guix is complex. It has features that make it theoretically superior in many ways, but in practice hasn't reached the reliability of simpler systems. Every aspect of Guix seems to take more time, cpu, ram, hd space than say pacman. It's a bit beyond my skills to figure out how to actually improve these things though. $ guix system foobar takes 1.5-3.0 seconds on SSD, stats 2374 files, with 345 No such file or directories in order to determine the command doesn't exist and do nothing. A fast guix could have 'guix time-machine -- environment --ad-hoc emacs -- emacs' run instantly after its been ran once, and some kind of 'guix run' command could be added. 5. I think Guix should have some simple system to only update to the latest commit where behemoths like webkit/chromium already have substitutes available and that should maybe be the default way to update. It's not a big deal if we are making people build stuff that only takes 30 seconds and uses minimal ram. Doesn't need to be perfect. Ricardo made some simple scripts that did stuff like that in the past. ------=_Part_282874_998383940.1621167873178 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit
Since you asked I'll dump my nebulous wishes here. Sorry that I don't have very
concrete suggestions and solutions, just things I think could be better.  I
should also state that 99% of my thoughts about Guix are through the filter of
"I want to build a Guix based desktop distribution that can be installed on
library, school, and home computers and Just Work better than Microsoft Windows"

1. Improve guix pull and updating reliability.
Updating guix for me is often like this:
$ guix pull
retrieving git objects....
TLS error in stream blah blah blah
$ guix pull
retrieving git objects..34%......... *dies but doesn't return to the prompt*
ctrl-c
$ guix pull
$ guix upgrade
$ sudo guix system reconfigure...
GUI desktop crashes back to TTY mysteriously.

Basically if guix pull can become as reliable as 'guix pull; guix pull; guix
pull; guix pull;, that would be great.  I think guix has many code paths
pertaining to downloading files where it chooses "Give Up" where "Try 2 or 3
times first" might be better.

Often downloads to source tarballs will download at ~30KiB/s. maybe some
axel-like system where both upstream an mirror urls are used might be good. Also
this may be wrong but from memory I think if the hash is wrong on a source
tarball, it will not bother trying to use the guix ci mirror of it, only if it's
404. So people with --no-substitutes can get completely stuck.

2. 'guix system reconfigure' without instantiating the new system until reboot.
I think the fact that reconfigure changes the whole system while its running is
a bit of a party trick, like pulling the table cloth out without any glasses
falling over.  For a Desktop GNU/Linux it kinda just accidentally works much of
the time. I've always thought I'd prefer the default to simply install the new
configuration in to GRUB and tell the user to reboot or add some flag like
--instatiate-now.


3. CLI consistency, e.g.,
$ guix package => nothing
$ guix system =>
guix system: missing command name
Try 'guix system --help' for more information.

$ guix package --list-generations, but
$ guix system list-generations ???\

Also https://issues.guix.gnu.org/47618


4. Make guix simpler and more performant.

Guix is complex. It has features that make it theoretically superior in many
ways, but in practice hasn't reached the reliability of simpler systems.  Every
aspect of Guix seems to take more time, cpu, ram, hd space than say pacman.
It's a bit beyond my skills to figure out how to actually improve these things
though.

$ guix system foobar

takes 1.5-3.0 seconds on SSD, stats 2374 files, with 345 No such file or
directories in order to determine the command doesn't exist and do nothing.
A fast guix could have 'guix time-machine -- environment --ad-hoc emacs --
emacs' run instantly after its been ran once, and some kind of 'guix run'
command could be added.

5. I think Guix should have some simple system to only update to the latest
commit where behemoths like webkit/chromium already have substitutes available
and that should maybe be the default way to update. It's not a big deal if we
are making people build stuff that only takes 30 seconds and uses minimal
ram. Doesn't need to be perfect. Ricardo made some simple scripts that did stuff
like that in the past.

------=_Part_282874_998383940.1621167873178--