From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2@gmail.com Subject: Re: [RFC] A simple draft for channels Date: Fri, 26 Jan 2018 12:23:44 -0500 Message-ID: <86o9lgedpb.fsf@gmail.com> References: <87bmhq6ytg.fsf@mdc-berlin.de> <87mv19ozgl.fsf@member.fsf.org> <874lnb2vt8.fsf@gnu.org> <86tvvbuooz.fsf@gmail.com> <87vafrxgn1.fsf@elephly.net> 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]:55448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ef7jD-0002EU-1u for guix-devel@gnu.org; Fri, 26 Jan 2018 12:23:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ef7j9-0004kl-1Q for guix-devel@gnu.org; Fri, 26 Jan 2018 12:23:51 -0500 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: Ricardo Wurmus Cc: guix-devel@gnu.org, Ricardo Wurmus On 01/24/2018 at 19:20 Ricardo Wurmus writes: > myglc2@gmail.com writes: > >> Ricardo, AIUI, your channels don't work like this. But I am at a loss to >> say how they will work in practice from the user's POV. If you could >> write such a description it would sure help us understand the proposal >> better. > > This draft is similar to how Conda channels[1] work: > > Conda packages are downloaded from remote channels, which are URLs > to directories containing conda packages. The conda command searches > a default set of channels, and packages are automatically downloaded > and updated from http://repo.continuum.io/pkgs/. You can modify what > remote channels are automatically searched. You might want to do > this to maintain a private or internal channel. > > [1]: https://conda.io/docs/user-guide/concepts.html#conda-packages > > In our case a channel consists of a git repository with Guile module > definitions and a channel description file. Optionally, it points to a > URL from where substitutes can be fetched. > > Other than that it behaves like a Conda user would expect: > > =E2=80=9CGuix does not yet include =E2=80=98foolicious 2000=E2=80=99, = but I know it has been > packaged by someone else and made available on the > =E2=80=98garlic-onion-sweat=E2=80=99 channel. So I enable this chann= el, authorize > its public key, and then install =E2=80=98foolicious 2000=E2=80=99.= =E2=80=9D > > Users can add any number of channels; their modules will be downloaded > and built (TODO: this might be dangerous, so try sandboxing), and then > added to GUIX_PACKAGE_PATH. > > The second iteration of this would involve some potluck ideas for extra > safety and convenience. > > -- > Ricardo > > GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC > https://elephly.net Thanks Ricardo. So here is the most brief intro I can come up with: 'guix Channel' allows you to use software packages provided by any third-party git repo. To use substitutes that may be provided by the channel, root must authorize the third-party server. Warning: Channels may expose you to non-free or harmful software. WDYT? I don't think you should call them "channels." Why? Only advanced Nix or Conda users will know what it means. For anyone familiar with Chrome, Red Hat, or TV channels, the "channels" label works against you: they have to learn and remember that a Guix channel works differently. These labels might work better: "Guix Sources" (ala Debian sources list[1]), "third party sources" or "third party repos". WDYT? [1] https://wiki.debian.org/SourcesList