Splitting up packages, targeting smaller/older devices

2021-04-19 Thread Leo Prikler
> One thing I'd like to try is to split up packages into more outputs,
> kinda like what Alpine does. This isn't really technically
> challenging,
> it's mostly just busywork and adding some default build phases and
> maybe some more default outputs. But it is a pretty big change, so,
> is
> this something that could eventually be upstreamed?
Not only is this very doable, it is in fact what Guix somewhat actively
do in order to reduce closure size.  I'm not sure if there's a "one
size fits all" phase, that could help you accomplish this, but a post-
install "move this part elsewhere" has worked for many things in the
past.

The only problem is that depending on the packages you want to make
smaller, you might end up
a) not making a difference, because the output is still needed
(unlikely, but possible)
b) targeting core-updates, which delays the time your patches can be
rolled out to everyone.

That being said, if you have concrete ideas about packages you wish to
reduce in size through more outputs, do bring them forth, either in a
discussion or with a patch.

Regards,
Leo




Splitting up packages, targeting smaller/older devices

2021-04-18 Thread raingloom
I've been pondering installing Guix onto some of my devices that have
tiny amounts of storage. I have an old desktop PC that had an old
version of Uhu Linux on it on a mere 4 gigs of HDD space. Full
graphical desktop, office suite, etc.
A minimal Guix install can just barely fit on it, but can't upgrade
itself. I think it could be possible.

One thing I'd like to try is to split up packages into more outputs,
kinda like what Alpine does. This isn't really technically challenging,
it's mostly just busywork and adding some default build phases and
maybe some more default outputs. But it is a pretty big change, so, is
this something that could eventually be upstreamed?

I'm not planning on starting work on this any time soon, so there's no
rush. Just testing the water for now.
So, is this something that would be welcome in Guix? Do we also want to
target even smaller devices, like OpenWRT supported routers? NixWRT
already exists, so it's not like this is unexplored territory.
PostmarketOS supported devices could be supported too in the future,
storage is also at a premium on those, not to mention flash memory wear
from needless writes.