From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: The future of 'guix environment' Date: Sat, 02 Sep 2017 23:09:08 +0200 Message-ID: <87lglwvmdn.fsf@gnu.org> References: <87inh3n4x4.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]:49104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1doFfH-0005sG-K2 for guix-devel@gnu.org; Sat, 02 Sep 2017 17:09:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1doFfC-0000Bl-Qf for guix-devel@gnu.org; Sat, 02 Sep 2017 17:09:15 -0400 In-Reply-To: (David Thompson's message of "Thu, 31 Aug 2017 20:29:35 -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 Howdy! "Thompson, David" skribis: > On Thu, Aug 31, 2017 at 11:16 AM, Ludovic Court=C3=A8s wro= te: [...] >> This would make =E2=80=9Cguix environment=E2=80=9D stateful: if you have= something in >> cache, that=E2=80=99s what you get (it could be old versions of =E2=80= =9Cfoo=E2=80=9D and >> =E2=80=9Cbar=E2=80=9D), but if you don=E2=80=99t, you get the current ve= rsions of =E2=80=9Cfoo=E2=80=9D and >> =E2=80=9Cbar=E2=80=9D. Is this what you have in mind? > > Yes. For regularly hacked on project environments I think this is the > most useful behavior. Because then, much like my regular user > profile, I can update at a time when I feel ready to do so, rather the > current situation where I'm forced to rebuild and deal with potential > breakage or long download/compile times. Agreed, that makes sense. >> I prefer the current stateless behavior, whereby =E2=80=9Cguix environme= nt >> --ad-hoc foo bar=E2=80=9D always gives you the same environment, given a= Guix >> commit. But maybe we can make =E2=80=9Cguix environment=E2=80=9D (no ar= guments) >> stateful, and keep =E2=80=9Cguix environment foo bar baz=E2=80=9D statel= ess? > > That's what I had in mind. In my head there's two important cases: > the on-the-fly, stateless environment, and the persistent environment > that you update every now and then when you feel like living on the > edge. 'guix environment foo bar' (ad-hoc being the new default) > should absolutely be stateless, just like it is now. Perfect. So =E2=80=9Cguix environment=E2=80=9D with no arguments would alm= ost be a wrapper around =E2=80=9Cguix package -p=E2=80=9D, I think (with generations= , upgrades, etc.) >> Also, I would prefer the convention to be =E2=80=9C.guix.scm=E2=80=9D (t= o avoid >> confusion with the (guix) module, and to mimic existing conventions >> followed by Travis and all that.) > > Sure, that's fine with me, but FYI there are existing conventions of > using non-hidden files. Bundler uses 'Gemfile', Docker uses > 'Dockerfile', Vagrant uses 'Vagrantfile', npm uses 'package.json', > etc. Oh right. =E2=80=9CGuixfile=E2=80=9D then! (Just kidding.) Thanks! Ludo=E2=80=99.