Back to the future: modules for Guix packages (2022)
a day ago
- Guix now offers a compatibility layer with the legacy Environment Modules system, allowing users to generate module files from Guix packages.
- The new tool, Guix-Modules, can be installed via 'guix install guix-modules' and used with 'guix module create' to generate module files in a specified directory.
- Unlike traditional module systems that rely on hidden dependencies, Guix modules are self-contained and reproducible, with provenance data recorded in each module file.
- Package transformation options, such as '--tune', are honored and recorded in the provenance data, enabling performance optimizations without sacrificing reproducibility.
- Module files generated by Guix work with both the original Modules implementation and Lmod, supporting incremental environment construction and matching user habits.
- Guix module create provides a simpler alternative for cluster setups, only requiring a read-only NFS export of the /gnu/store directory.
- Users can reproduce exact software environments from module files using 'guix time-machine', making modules reproducible artifacts.