From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Thompson Subject: Re: Improving the usability of 'guix environment' Date: Fri, 13 Feb 2015 08:47:25 -0500 Message-ID: <87a90hgbyq.fsf@fsf.org> References: <87fvadhg1d.fsf@fsf.org> <87lhk51xxa.fsf@gnu.org> <87a90lhcup.fsf@fsf.org> <87bnl1zcj2.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]:43164) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMGae-0006DL-Ak for guix-devel@gnu.org; Fri, 13 Feb 2015 08:47:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMGad-0001W7-4n for guix-devel@gnu.org; Fri, 13 Feb 2015 08:47:28 -0500 In-Reply-To: <87bnl1zcj2.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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org Ludovic Court=C3=A8s writes: > David Thompson skribis: > >> Ludovic Court=C3=A8s writes: >> >> I'm a bit confused about that. Are you suggesting we merge 'guix >> environment' into 'guix package'? > > A possibility might be to: > > =E2=80=A2 keep =E2=80=98guix environment=E2=80=99 as is; after all, =E2= =80=98guix environment emacs=E2=80=99 > really reads as =E2=80=9Cthe environment for [the development of] Ema= cs=E2=80=9D; After thinking about this more, I agree. It seems that the real problem here is that using a string for the 'source' field of a package doesn't yield a buildable package, which makes me feel like writing a package to encompass the dependencies is just useless boilerplate. If that was fixed, not only could you make an environment from it, you could also easily pass it to 'guix build' or 'guix package', making it very useful. > =E2=80=A2 add a -E option to =E2=80=98guix package=E2=80=99 (like the -= E of =E2=80=98guix > environment=E2=80=99). > > Example: > > # start a shell where guile and guile-sdl are available in addition to > # what=E2=80=99s in ~/.guix-profile > $ guix package -i guile guile-sdl -E $SHELL > > # start a shell where only guile and guile-sdl are available > $ guix package -i guile guile-sdl --scratch -E $SHELL > > # start a shell in an environment which is my profile minus emacs > # plus vim and with an upgraded zile > $ guix package -r emacs -i vim -u zile --pure -E $SHELL > > Hmm. > > I=E2=80=99ve not completely convinced myself. > > Maybe keeping it in =E2=80=98guix environment=E2=80=99 is wiser. I=E2=80= =99m not quite sure > that changing the default behavior is desirable though. I think keeping the functionality in 'guix environment' is the best idea, but I'm going to hold off on adding a feature like this for now. It might not be necessary at all. Thanks for thinking this through with me! --=20 David Thompson Web Developer - Free Software Foundation - http://fsf.org GPG Key: 0FF1D807 Support the FSF: https://fsf.org/donate