[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Stratification of GNU Guix into Independent Channels
From: |
jgart |
Subject: |
Stratification of GNU Guix into Independent Channels |
Date: |
Sat, 24 Dec 2022 03:49:30 +0000 |
Hi Guixers,
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.
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
lisp-channel
node-channel
ocaml-channel
clojure-channel
chicken-channel
go-channel
haskell-channel
erlang-channel
elixir channel (maybe elixir and erlang are together in one channel)
elm-channel
gaming-channel
texlive-channel
ruby-channel
linux-channel (kernel)
java-channel
emacs-channel
vim-channel
perl-channel
php-channel
julia-channel
r-channel
dlang-channel
purescript-channel
mozilla-channel
chromium-channel
browsers-channel
coq-channel
agda-channel
idris-channel
kde-channel
gnome-channel
xfce-channel
enlightenment-channel
pantheon-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?
This is mostly a thought experiment as implementing something like this, I
imagine, would be quite ambitious and radically different from the approach we
are currently following.
I'm curious to know what the community thinks about the stratified approach.
I'm also curious to learn more about the history of why we chose the monorepo
approach. Are there any references that I can read for the latter?
Here are some pros I can foresee with the stratified approach.
Pros
=========
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.
Users can opt out of certain channels. For example, there might be some users
that want absolutely no rust or some other language or ecosystem of packages
from being downloaded on their machine for whatever reason. Same goes for any
other languages.
Would being subscribed to just the hypothetical small core channel in this
proposal increase download/installation speeds given the availability of
substitutes?
WDYT
- Stratification of GNU Guix into Independent Channels,
jgart <=
- Re: Stratification of GNU Guix into Independent Channels, Vagrant Cascadian, 2022/12/23
- Re: Stratification of GNU Guix into Independent Channels, jgart, 2022/12/24
- Re: Stratification of GNU Guix into Independent Channels, Liliana Marie Prikler, 2022/12/24
- Re: Stratification of GNU Guix into Independent Channels, Josselin Poiret, 2022/12/24
- Re: Stratification of GNU Guix into Independent Channels, Hartmut Goebel, 2022/12/27
- Re: Stratification of GNU Guix into Independent Channels, Denis 'GNUtoo' Carikli, 2022/12/28