Previous: , Up: Guix Profiles in Practice   [Contents][Index]


6.1.5 Reproducible profiles

To reproduce a profile bit-for-bit, we need two pieces of information:

Indeed, manifests alone might not be enough: different Guix versions (or different channels) can produce different outputs for a given manifest.

You can output the Guix channel specification with ‘guix describe --format=channels’ (see Invoking guix describe in GNU Guix Reference Manual). Save this to a file, say ‘channel-specs.scm’.

On another computer, you can use the channel specification file and the manifest to reproduce the exact same profile:

GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
GUIX_EXTRA=$HOME/.guix-extra

mkdir -p "$GUIX_EXTRA"/my-project
guix pull --channels=channel-specs.scm --profile="$GUIX_EXTRA/my-project/guix"

mkdir -p "$GUIX_EXTRA_PROFILES/my-project"
"$GUIX_EXTRA"/my-project/guix/bin/guix package \
 --manifest=/path/to/guix-my-project-manifest.scm \
 --profile="$GUIX_EXTRA_PROFILES"/my-project/my-project

It’s safe to delete the Guix channel profile you’ve just installed with the channel specification, the project profile does not depend on it.