From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: The future of 'guix environment' Date: Wed, 30 Aug 2017 17:43:57 +0200 Message-ID: <87lgm1f4ci.fsf@elephly.net> References: <87ziahytsq.fsf@member.fsf.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38137) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dn5A1-0006Z8-Pq for guix-devel@gnu.org; Wed, 30 Aug 2017 11:44:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dn59y-0004o7-Mz for guix-devel@gnu.org; Wed, 30 Aug 2017 11:44:09 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21073) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dn59y-0004nq-EE for guix-devel@gnu.org; Wed, 30 Aug 2017 11:44:06 -0400 In-reply-to: <87ziahytsq.fsf@member.fsf.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: =?utf-8?B?5a6L5paH5q2m?= Cc: guix-devel 宋文武 writes: >> 5) Add support for Shepherd services. When an environment is created, >> a new Shepherd process is launched to handle all the necessary >> services. For a web application this could be nginx, mysql, redis, >> etc. This feature can be implemented later, even post 1.0, provided >> we agree upon using a record type. > > Yes, maybe launch the services with a subcommand like 'guix environment > up', so the shell entering 'guix environment' command can be run > multiple times. AFAIU the proposal, that’s precisely what we don’t want. Dave wants users/developers to be able to specify the behaviour of the environment, not just the packages that ought to be available. I’d expect all services to be killed upon leaving the environment, so we don’t need to have a separate command for bringing them up. It is not clear to me if it should be possible to “attach” to an environment that is “active” in another shell session (like it is possible with Docker containers). @Dave: I pretty much agree with all of the proposed changes. One thing that may be lost, though, when using a new record is easy ad-hoc packaging. Now I can use a guix.scm file both for building a Guix package and a Docker image; I would expect that it would no longer be possible to build a Guix package out of an environment file. On the other hand, building a more fully featured container image would be even simpler with this change. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net