宋文武 <[email protected]> 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 <guix-environment> 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 <guix-environment> 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
