Edit this page | Blame

Building a ~guix pack~ for Environment Sharing

Motivation

Sometimes, you might

  • not have access to guix where you want to deploy
  • not be able to run a guix shell (due to space constraints on the /gnu/store partition, etc)
  • not be able to create a guix profile (due to space constraints on the /gnu/store partition, etc)

but you still need to have a similar environment for running your application.

In such cases, ~guix pack~ can come in handy.

I will use the process I used for

for demonstration

guix pack -RR -S /mybin=bin -S /mylib=lib \ -L /home/frederick/genenetwork/guix-bioinformatics \ python redis mariadb genenetwork-qc
  • The `-RR` option ensures `guix pack` produces relocatable[1] binaries
  • The `-S` adds the symbolic links to the pack[1]
  • The `-L`[2] option adds the ~guix-bioinformatics~ directory to the front of the module load path

We then add python, redis, mariadb, and genenework-qc packages (and their dependencies) to the pack.

Footnotes

(made with skribilo)