unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Joshua Branson <jbranso@dismail.de>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: jgart <jgart@dismail.de>,  guix-devel@gnu.org
Subject: Re: Stratification of GNU Guix into Independent Channels
Date: Sat, 24 Dec 2022 07:31:08 -0500	[thread overview]
Message-ID: <875ye1c7ar.fsf@dismail.de> (raw)
In-Reply-To: <87cz894e34.fsf@contorta> (Vagrant Cascadian's message of "Fri, 23 Dec 2022 20:31:43 -0800")

Vagrant Cascadian <vagrant@debian.org> writes:

> On 2022-12-24, jgart wrote:
>> I wanted to ask you what are your thoughts on this idea. This is a
>> thought experiment at this stage.
>>
>> Should GNU Guix be a small core of packages (and services?)?
>>
>> For example, GNU Guix would be a core channel containing the reduced
>> binary seed bootstrap and a few other core packages to bootstrap the
>> system. That's it. Users subscribe to this channel to get started.
>
> I definitely am excited and hopeful to think this *could* be possible!
>
>
>> Users could then decide what channels they'd like to subscribe to/opt
>> in to by adding any of the following channels as they please:
>>
>> python-channel
>> rust-channel
> ...
>> scheme-channel
>> etc...
>>
>> The above channels would still be maintained under the auspices of GNU.
>>
>> What do you think would be the pros and cons of the stratified
>> approach versus the monorepo approach that we currently have?
>
> The pros would be only having to pull the small bits you actually want,
> and that could be faster to run "guix pull".
>
> This would certainly make it much easier to package a "core" subset of
> guix for other distros (e.g. I work on packaging guix in Debian) that
> having to package the whole entire guix universe.
>
> I suspect the "small bootstrap core set" to eventually pull in quite a
> bit of other things, and continually be at risk of needing to pull in
> more things...
>
> You would probably need to have inter-channel dependencies... which
> makes me wonder how many cyclic dependencies might result...
>
> git alone pulls in dependencies for perl, python, git, subversion,
> openssl ... and what is the dependency cycle for each of those? Guix
> apparently can generate pretty charts for this stuff, though I have yet
> to try. :)
>

Fun fact of the day, the OpenBSD crowd is creating got, which is a
rewrite of git, with less features, in C.  :)

>
> I have the (perhaps mininformed) impression nix has a split more along
> these lines with the core of nix being one thing, and then collections
> of packages being other repositories.
>
>
>> GNU Guix proper would be a solid core of packages that is very easy to
>> maintain. This would greatly reduce the maintenance burden since
>> maintaining a world of rust, golang, or python packages is opt in by
>> those who want to do that particular work.
>
> If it is possible, it seems likely to make releasing more regularly and
> less stressfully...
>
>
>> Would being subscribed to just the hypothetical small core channel in
>> this proposal increase download/installation speeds given the
>> availability of substitutes?
>
> I suspect it would significantly increase guix pull speeds, at the very
> least.
>
>
> live well,
>   vagrant


  reply	other threads:[~2022-12-24 12:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-24  3:49 Stratification of GNU Guix into Independent Channels jgart
2022-12-24  4:31 ` Vagrant Cascadian
2022-12-24 12:31   ` Joshua Branson [this message]
2022-12-24  5:24 ` jgart
2022-12-24  8:37   ` Stratification of GNU Guix into Independent Channels, X-mas and Guix days! Pjotr Prins
2022-12-25 12:00     ` indieterminacy
2022-12-25 16:27     ` jgart
2022-12-24 11:01 ` Stratification of GNU Guix into Independent Channels Liliana Marie Prikler
2022-12-24 11:37 ` Josselin Poiret
2022-12-27 13:50 ` Hartmut Goebel
2022-12-29  1:25 ` Denis 'GNUtoo' Carikli
2023-01-03 13:26 ` zimoun
2023-01-27  7:47   ` Giovanni Biscuolo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875ye1c7ar.fsf@dismail.de \
    --to=jbranso@dismail.de \
    --cc=guix-devel@gnu.org \
    --cc=jgart@dismail.de \
    --cc=vagrant@debian.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).