"jgart" <[email protected]> writes:

> Hi Guixers,
>
> How would you approach writing a script that installs every Guix package 
> exhaustively for your current revision?
>
> I'm thinking of something similar to `all-packages` on PyPi but for every 
> Guix package (the whole wide ๐ŸŒŽ๏ธ).
>
> https://pypi.org/project/all-packages/

guix package -A | cut -f 1 | sort -u | xargs guix build --keep-going

can accomplish this. The `--keep-going' flag is useful in case a package
does not build.

Occasionally, I will sandwich in a negated grep to
exclude packages:

guix package -A | cut -f 1 | sort -u | grep -v "emacs-guile" | xargs guix build 
--keep-going

(Aside: emacs-guile-on-guix-system is the pinnacle of GNU, IMO but it failed to
build--appearing to be abandoned--and was removed.)

One may also select just the packages they want, perhaps by using a
scripting language such as python to make larger selections more
convenient.

This can be combined with a substitute server and an offload build
machine to make an on-site cache. One can choose whether to employ the
Guix substitute servers if that would be beneficial.

Reply via email to