On 01/24/2018 at 15:08 Ludovic Courtès writes: > Hello, > > iyzs...@member.fsf.org (宋文武) skribis: > >> Ricardo Wurmus <ricardo.wur...@mdc-berlin.de> writes: >> >>> Hi Guix, >>> >>> I’d like to retire GUIX_PACKAGE_PATH as the main way to get third-party >>> packages, because we can’t really keep track of packages that were added >>> or redefined in this way. I want to replace it with slightly more >>> formal “channels”. >> >> Hello, as a way to get and manage third-party guix repositories, it >> sounds more like “overlays” (in Gentoo world) rather than “channels” (in >> Nix world, to ensure binaries availability and updates stability) to me. >> >> https://wiki.gentoo.org/wiki/Overlay >> https://nixos.org/nix/manual/index.html#sec-channels >> >> How about call it as “overlay”?
> I think “overlay” has the notion that it’s a layer on top of another > layer, which is not exactly the case here. It’s not exactly like what > Nix channels either, but closer to that, I think. Because Nix is not well known and their definition[1] is obscure I looked for mainstream uses of "channels". I found Chrome "Release Channels"[2] and Red Hat Network Satellite "Channels"[3,4]. A Chrome user can use only one channel at a time, e.g., Stable, Beta, Developer. The Red Hat model is more complex: CHANNEL A channel is a list of packages. Channels are used to choose packages to be installed from client systems. Every client system must be subscribed to one Base Channel and can be subscribed to one or more Child Channel . BASE CHANNEL A base channel is a type of Channel that consists of a list of packages based on a specific architecture and Red Hat release. For example, all the packages in Red Hat Enterprise Linux AS 3 for the x86 architecture make a base channel. CHILD CHANNEL A child channel is a Channel associated with a Base Channel but contains extra packages. 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. [1] https://nixos.org/nix/manual/#sec-channels: "A Nix channel is just a URL that points to a place that contains a set of Nix expressions and a manifest." [2] https://www.chromium.org/getting-involved/dev-channel [3] https://access.redhat.com/documentation/en-us/red_hat_network_satellite/5.3/html/reference_guide/glossary [4] https://access.redhat.com/documentation/en-us/red_hat_network_satellite/5.3/html/reference_guide/s1-sm-channels-packages