From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Darrington Subject: Re: Reorganizing guix package commands Date: Tue, 19 Apr 2016 07:17:02 +0200 Message-ID: <20160419051701.GA10275@jocasta.intra> References: <874mazi99k.fsf@gmail.com> <877ffual6i.fsf@gnu.org> <86bn56ziw9.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="FL5UXtIhxfXey3p5" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asO2F-0003hX-0Z for guix-devel@gnu.org; Tue, 19 Apr 2016 01:17:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1asO2B-0005Xc-OE for guix-devel@gnu.org; Tue, 19 Apr 2016 01:17:14 -0400 Received: from de.cellform.com ([88.217.224.109]:48545 helo=jocasta.intra) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asO2B-0005Se-BT for guix-devel@gnu.org; Tue, 19 Apr 2016 01:17:11 -0400 Content-Disposition: inline In-Reply-To: <86bn56ziw9.fsf@gmail.com> 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+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: myglc2 Cc: guix-devel@gnu.org --FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 18, 2016 at 05:50:14PM -0400, myglc2 wrote: ludo@gnu.org (Ludovic Court??s) writes: =20 > Alex Kost skribis: > >> I've just sent a message to bug#22587??, but I realized it is bette= r to >> discuss it here in a separate thread. >> >> So, I think there are inconsistencies in guix commands. For exampl= e, we >> have "guix system build" to build a system, but "guix build" to bui= ld a >> package. IMO "guix package build" would be a better choice. >> >> In general, I think it would be good to move package commands inside >> "guix package", e.g, to make "guix package lint", "guix package siz= e", >> etc. > > Why not consider ???package??? to be the default word? :-) > I can see how adding ???package??? everywhere helps categorize things > mentally, but as a user interface, I think it would be rather bad. > > Also, it???s not that simple: ???guix size??? can take a store item = instead of > a package name, ???guix graph??? cannot do it yet but it would be us= eful if > it could (???guix graph -t references $(readlink -f /run/current-sys= tem)???), > etc. > > I still think that having aliases like ???guix install??? as Andy pr= oposed > long ago would be useful, though I never started working on it. > > There are probably other improvements to do around ???guix package??= ? (maybe > turning some of its options into separate sub-commands as was sugges= ted > before.) All we need is a clear view of where we???re going and pat= ches. :-) > =20 I replied to the bug earlier, relevant parts are restated below, and a discussion added below that. =20 For overall Guix usability, the overloading of a single guix command f= or everything is not so good. When you eventually create a man page, it will be intimidating for someone just trying to do per-user package management, which the majority of, and least sophisticated users, will be trying to do. =20 On the other hand there are several "classes" of commands as reflected by the guix CLI being described in several logically different parts of the doc. This structure is not so evident in the CLI structure. At the risk of taking this thread in a tanget ... I don't think the doc is particularly well structured, and will soon need a= major overhaul. =20 So I don't think it is a good model upon which to base the user interface.. While we're thinking about user interfaces, I believe a more abstract appro= ach would be better at this stage: What types of person are going to be=20 interacting with Guix? Developers? Users? Curious Bystanders? Some othe= r=20 category of person? --- Each of those are probably going to have a core set of commands which they use regualarly, a few which they use occasionally a= nd some never. Identifying those sets (which may intersect) is the first step to designing a good user interface. That would help for both CLI and GUI. J' =20 --=20 Avoid eavesdropping. Send strong encryted email. PGP Public key ID: 1024D/2DE827B3=20 fingerprint =3D 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. --FL5UXtIhxfXey3p5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlcVv00ACgkQimdxnC3oJ7OqewCfbSeKEAlADNtx2iwjqfRX05ak hBsAnA3fxvI2hwEIe2IYIfSmUspLUExd =7PtM -----END PGP SIGNATURE----- --FL5UXtIhxfXey3p5--