From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:35074) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ixU9A-0005Yn-Gp for gwl-devel@gnu.org; Fri, 31 Jan 2020 06:07:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ixU99-00053w-Fj for gwl-devel@gnu.org; Fri, 31 Jan 2020 06:07:36 -0500 References: <875zh3w3yp.fsf@elephly.net> From: Ricardo Wurmus Subject: Re: How to install GWL? In-reply-to: Date: Fri, 31 Jan 2020 12:07:16 +0100 Message-ID: <87eevfubob.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gwl-devel-bounces+kyle=kyleam.com@gnu.org Sender: "gwl-devel" To: zimoun Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , gwl-devel@gnu.org Hi zimoun, > The difference between "as a package" --which implies inferiors-- or > "as a channel" is: embed vs extend. > > I was convinced that "as a package" was more convenient. Now I am not sur= e. :-) > Because we know what "embed" means. ;-) > > For example, Julien's home-manager [1] uses the "as a channel" approach. The home-manager *only* requires Guix. The GWL needs wisp, guile-commonmark, guile-gcrypt, guile-pfds (for sets), guile-syntax-highlight, graphviz (for visualizing workflows), etc. In the future it might also depend on the Guile AWS library, perhaps even some libraries that implement different schedulers, etc. I=E2=80=99ve also= been thinking about adding a web interface to visualize the current state of processes spawned by the workflow, which should make debugging workflows much easier. Channels don=E2=80=99t allow for any fancy installation or setup. The Guile modules provided by a channel are compiled just in time when running =E2=80=9Cguix pull=E2=80=9D. It doesn=E2=80=99t seem like a good idea for = the GWL to hook into the channels mechanism when it doesn=E2=80=99t provide what channels were designed to help implement: extensions to the package graph. I think inferiors also give GWL users a feature that would otherwise be missing: to run arbitrary workflows with arbitrary channel definitions via inferiors without having to first manually execute =E2=80=9Cguix pull= =E2=80=9D to switch to the particular channels that a workflow requires. Using inferiors gives a superior user experience, in my opinion. -- Ricardo