From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: 'guix environment' as a build tool. Date: Sun, 31 Jul 2016 15:55:37 +0200 Message-ID: <87h9b56heu.fsf@gnu.org> References: <871t4ksk0n.fsf@gnu.org> <87vazueezx.fsf@gnu.org> <87lh0pe6y7.fsf@gnu.org> <87invockk7.fsf@gnu.org> <87wpk291wo.fsf@gnu.org> <877fc2k1ei.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53900) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTrDY-00015h-P0 for guix-devel@gnu.org; Sun, 31 Jul 2016 09:55:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTrDX-0005i2-DJ for guix-devel@gnu.org; Sun, 31 Jul 2016 09:55:48 -0400 In-Reply-To: (David Thompson's message of "Sat, 30 Jul 2016 22:20:42 -0400") 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: "Thompson, David" Cc: guix-devel Hello! "Thompson, David" skribis: > On Sat, Jul 30, 2016 at 10:05 PM, Mathieu Lirzin wrote: >> ludo@gnu.org (Ludovic Court=C3=A8s) writes: [...] >>> What about providing a =E2=80=98guix.scm=E2=80=99 file that people coul= d pass to =E2=80=98guix >>> environment -l=E2=80=99 (instead of typing the long command above), and= to =E2=80=98guix >>> package -f=E2=80=99 (info "(guix) Invoking guix package")? >> >> 'guix environment -l' uses a package definition. To me this abstraction >> doesn't fit well in a development context: > > It *does* fit well. This use-case is why I wrote 'guix environment' > in the first place. [...] >> if the user wants to enter this environment Later it will have to invoke >> './guix-env'. > > This just makes things more inconvenient and limits potential utility. That sounds harsh. I don=E2=80=99t have a better answer for Mathieu other than =E2=80=98guix e= nvironment -l=E2=80=99, and I think it does the job well. But I also think that Mathieu=E2=80=99s concerns must not be dismissed. For instance, it=E2=80=99s true that some of the metadata in =E2=80=98package= =E2=80=99 forms looks irrelevant for the purposes of setting up a build environment=E2=80=94no big deal, but still it doesn=E2=80=99t =E2=80=9Cfeel=E2=80=9D completely right. Conversely, useful metadata is missing: for instance, I=E2=80=99d like to a= dd something that would allow me to specify the equivalent of =E2=80=98--netwo= rk --expose=3D$HOME/.gdbinit=E2=80=99 in development environments I use. Perhaps the solution is to introduce a new way to declare development environments? It would be similar to =E2=80=98package=E2=80=99, but withou= t =E2=80=98synopsis=E2=80=99, =E2=80=98description=E2=80=99, and a couple other things; it could have add= itional fields to describe container setups and such likes; it would compile down to a bag, just like packages. What do you think? Thanks, Ludo=E2=80=99.