rekado comments on “Tarballs, the ultimate container image format”

Packages in Guix are just Scheme variables.

The package here uses the `python-build-system`, which defaults to the latest version of Python, but you can override that by specifying `(arguments ‘(#:python ,my-python))`, where `my-python` is a variable bound to a package value of the Python variant that you want to use.

You can easily install more than one version of a package as long as you have a package definition for it. You can install different variants (not just different versions) into separate profiles.

Guix is a Scheme library providing lots of variables that are bound to package values. These package values may have links to other packages (that’s done with quasiquotation). Together they form a big graph of packages with zero degrees of freedom. Every version of Guix provides a slightly different variant of this package graph. When installing any package you instantiate a subset of this particular graph. Updating or modifying Guix gives you a different graph.

In order to keep things manageable we try to keep the number of variants of any particular package in Guix to a minimum, but you can install older variants by using an older version of Guix; or you can add new variables that are bound to package variants or different versions and install those.

It’s very convenient and conceptually simple.



parent read more here

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>