hn.today

Back to the future: modules for Guix packages (2022)

hpc.guix.info60 points1 comments
Screenshot of Back to the future: modules for Guix packages (2022)

Guix-Modules is a compatibility layer that generates traditional Environment Modules from Guix package definitions, letting HPC administrators present software the way users expect while eliminating the “hidden dependency” problem common to Spack/EasyBuild deployments. Instead of relying on the host distribution, Guix builds a self-contained user-land dependency graph; guix module create -o /opt/modules <packages> builds or downloads packages, emits Tcl/Lmod module files, and backs up previous module sets under /var/guix/profiles for easy rollback. The generated modules work with classic Modules and Lmod, and administrators who prefer a lighter setup can avoid running a build daemon: exporting /gnu/store read-only is sufficient to serve modules to compute nodes.

Provenance and customization are recorded and surfaced in the module files: module help shows the Guix channels, commit IDs, OpenPGP fingerprints and any package transformations (for example tune=skylake). That provenance snippet can be fed to guix time-machine to reproduce the exact same software environment elsewhere or later in time. guix module create honors Guix’s package transformations, preserving both performance tuning and reproducibility. The result is reproducible, portable, and customizable module sets that match user habits and support incremental load/unload workflows while leaving power users free to use guix shell directly.

Read on hpc.guix.info1 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Science

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.