From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:46382) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAsxs-0005Qw-06 for guix-patches@gnu.org; Thu, 19 Sep 2019 05:43:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAsxq-0003cY-Pw for guix-patches@gnu.org; Thu, 19 Sep 2019 05:43:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46346) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iAsxq-0003cU-MX for guix-patches@gnu.org; Thu, 19 Sep 2019 05:43:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iAsxq-0006w0-J1 for guix-patches@gnu.org; Thu, 19 Sep 2019 05:43:02 -0400 Subject: [bug#37443] [PATCH] scripts: pull: Add options for generation management Resent-Message-ID: MIME-Version: 1.0 References: <87d0fx71p2.fsf@gnu.org> <87v9toy9wh.fsf@gnu.org> In-Reply-To: <87v9toy9wh.fsf@gnu.org> From: zimoun Date: Thu, 19 Sep 2019 11:41:44 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Konrad Hinsen , 37443-done@debbugs.gnu.org Hi, On Thu, 19 Sep 2019 at 10:22, Ludovic Court=C3=A8s wrote: > >> Now, it=E2=80=99s true that having two different profiles appears to b= e hard > >> to grasp for newcomers, as Ricardo was saying just now on IRC. > > > > I suspect that the whole idea of profiles (as distinct from the user > > account) is not obvious. If I ever extend my tutorial to include > > profiles, I would probably introduce them as persistent environments. > > Yeah, that=E2=80=99s what they are, so maybe it=E2=80=99s simpler to pres= ent profiles as > persistent environments. Coming from Conda package manager, it took me some time to understand; because the Guix terminology was not what I was expecting from the Conda terminology (in conda "guix environment" does not exist, and "guix profile" is called environment). Profile as persistent environment clarifies, IMHO. Is it possible to list all my own profiles? > > And since I am in criticizing mood, the whole Guix management API > > suffers from bad naming. Consider "guix pull -l". What does it pull? O= r I agree that "guix pull" should be split into: - "guix pull" which actually pulls and builds derivations - "guix log" which lists, switches or deletes the pull generation For example "guix log --news" seems better than "guix pull --news". > > "guix package =E2=80=93-roll-back", which doesn't roll back a package b= ut a > > profile. I am not sure to understand this point. What do you mean? To me, "guix package" manipulates transactions (states). i.e., "guix package =E2=80=93-roll-back" roll backs a transaction of a prof= ile. >From section 4.1 Features The command provides the obvious install, remove, and upgrade operations. Each invocation is actually a _transaction_: either the specified operation succeeds, or nothing happens. Thus, if the =E2=80=98gu= ix package=E2=80=99 process is terminated during the transaction, or if a powe= r outage occurs during the transaction, then the user=E2=80=99s profile remai= ns in its previous state, and remains usable. Therefore, from my opinion, the UI seems good enough here. All the best, simon