"jgart" <jgart@dismail.de> 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.