Hi,
On Wed, 12 Jul 2023 at 10:27, wolf <[email protected]> wrote:
>> Then, it will create a Docker image as an artifact from the CI-run.
>> The image is as small as it can be because Guix only installs the
>> necessary software.
>
> Careful about this assumption, Guix-generated container images are pretty
> large
> and include a lot of things you might not want in there (man, info pages,
> bash,
> ...). I am not saying "do not use it", but if you try to convince people to
> use
> Guix for container builds, size should not be your argument (especially since
> Alpine exists as an alternative).
Yes, the images generated by Guix cannot considered as minimal. :-)
Aside bugs – see #63050 [a] for one example of such bug –, as I pointed
in [b],
The tacit policy with Guix packages is that the packages are usually by
default “feature maximalist” or specifically named « <foo>-minimal » …
> Right, and reportedly, Alpine-based images for things like Python are
> smaller than what we do. There’s no cheating here: images are
> self-contained.
…contrary to Alpine where the packages are usually by default “feature
minimalist” or specifically named « <foo>-<with-feature> ».
Consider the package Emacs [1] and give a look at the recipe for the
package named ’emacs’ [2]. Well, this Alpine package ’emacs’ looks like
the Guix package named ’emacs-minimal’, and then Alpine provides these
variants (subpackages):
emacs-doc
emacs-gtk3
emacs-gtk3-nativecomp
emacs-nox
emacs-x11
emacs-x11-nativecomp
1: <https://pkgs.alpinelinux.org/package/edge/community/x86/emacs>
2: <https://git.alpinelinux.org/aports/tree/community/emacs/APKBUILD>
a: https://issues.guix.gnu.org/issue/63050
b: https://yhetil.org/guix/[email protected]
Cheers,
simon