From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: Re: Profiles/manifests-related command line interface enhancements Date: Mon, 04 Nov 2019 11:39:40 +0100 Message-ID: <877e4glyc3.fsf@ambrevar.xyz> References: <87mudrxvs8.fsf@ambrevar.xyz> <87mudd59ho.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:54454) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iRZly-0003z5-9l for guix-devel@gnu.org; Mon, 04 Nov 2019 05:39:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iRZlw-0002KF-JI for guix-devel@gnu.org; Mon, 04 Nov 2019 05:39:45 -0500 In-Reply-To: <87mudd59ho.fsf@gnu.org> 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: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Another way is: > > eval `guix package --search-paths=3Dprefix` > > or similar. Note that this suffers from the shell compatibility issue, e.g. it won't work with Fish / Eshell. > Another one is: > > guix environment =E2=80=A6 This is a bit different since it spawns a subshell. Depends on the use case. > The MANPATH issue is orthogonal so I don=E2=80=99t think we should bring = it up > in this context. See for > context. Oh, this is exactly it! Thanks for the link, I had no clue this had been under discussion... since 2015 O.o :) >> - All commands that accept manifests should be able to compose manifests >> by passing multiple =3D--manifest FILE=3D options. > > Do you have a use case? :-) > > Sounds like something quite easy to do but I=E2=80=99ve never heard anyone > request it before so I=E2=80=99m curious. I'm actually surprised you find it surprising! :) I can think of Simon, maybe Konrad(?) and myself who mentioned it before. Examples: =2D `guix pack` can only pack ` manifest at a time. Impossible to combine 2 manifests. =2D Same for guix weather if you want to avoid calling guix weather multiple times in a row. =2D `guix environment` can work around this limitation by calling the manifest from the generated subshells. It's not super convenient, and it does not work for scripts. For instance, we can't do this at the mome= nt: guix environment -m manifest1 -m manifest2 -- my command line... I'm sure we can come up with tons of examples :) >> - Use a default manifest by default with =3Dguix install=3D and =3Dguix >> remove=3D. This way would basically get rid of "ad-hoc" profiles which >> has so many flaws (non-reproducible, non-trackable, etc.). > > Ambitious! > > Note that =E2=80=9Cad-hoc=E2=80=9D profiles (imperatively-managed profile= s) contain > provenance info in their =E2=80=98manifest=E2=80=99 file, so it=E2=80=99s= not black and white. I actually never noticed this :p >> Last, one that's at the Scheme level: >> >> - A Scheme function to create a manifest for the necessary inputs of a >> package, like =3Dguix environment PACKAGE=3D does. (Maybe it's alread= y possible?) > > Like =E2=80=98specifications->manifest=E2=80=99? Can specifications->manifest do this? Concrete example: You want a profile to work on IceCat, so you need a manifest that has all the necessary inputs required to work with Icecat. How can we automate the generation of the manifest? > Note that another option is to overhaul =E2=80=98guix environment=E2=80= =99 like David > proposed a while back: > > https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00300.html Nice thread, lots of good ideas in there. Cheers! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl2//+wACgkQm9z0l6S7 zH831wf8Cl+N7TRxaMc5CoVr0YMQ4c0d5+qO77tdYq0s9hr2gYk0qQh0/8LV6tWc tEeRT5Is9nyRXcmRI5Bq2YR0O4mfXGSSi9WZJzCIqv9z6ply6sGbAsyVzBITeO/r 2wfpqldk7C8Upb2s6Qpza0OxSzHhMz18QqG8Ap4013QstonDGdDjcGl91chMgURR zkcQV2A4NHED/yRgulDrB0M477PR3FRakt8uGJb1aqLgMLnVoanNKhd3FngTWpjg o9rswqMxM1EMAA9nY50PMU+dLeoah3gJ2WJO+oII2kK0OBi/kCLrcJ8Prnh/Rml1 ZL0JuhZbU5rVBiQ/Ltgeezs9bcZ79g== =9ECK -----END PGP SIGNATURE----- --=-=-=--