3. CONFIGURATION

3.1. Locations

On AFS the path of the system wide configuration file is /opt/psi/config/Pmodules.yaml.

If Pmodules is installed as RPM, the path of system wide configuration file is /etc/Pmodules.yaml.

Users can define additional overlays in $HOME/.Pmodules/Pmodules.yaml.

3.2. Minimal system wide configuration

Overlays:
  base:                      (1)
    install_root: DIR        (2)
1 The 'base' overlay is mandatory.
2 Root of the Pmodules installation.

3.3. General configuration options

DefaultGroups:|default_groups: group[,group]…​

Comma separated list of groups which are available after initializing Pmodules. Defaults to Tools, Programming

DefaultRelstages: relstage[,relstage]…​

Modules with these release stages will be available after initializing Pmodule. Allowed values are unstable, stable and deprecated. Defaults to stable

TmpDir:|tmp_dir: DIR

Directory for temp-files. This is mainly used while building a module. Defaults to /var/tmp/${USER}.

DistfilesDir:|download_dir: DIR

Directory where downloaded files are stored. This used only while building a module. Defaults to ${HOME}/.cache/Pmodules/distfiles.

Overlays:

The system wide overlays must be defined here. At least an overlay with the name base must be defined.

Overlays:
  base:
    install_root: DIR
    key: value
    ...
  ol_name:
    install_root: DIR
    key: value
    ...
  ...

See next section for more details. Overlay definitions can also be added to the user Pmodules configuration file.

3.4. Overlay configuration

3.4.1. Mandatory configuration

install_root: DIR

Root directory of the overlay.

3.4.2. Optional configuration

modulefiles_root: DIR

Modulefiles can be stored separately from the software packages. This is particularly useful during the development of a new module. The software can be installed in its final location, while the module files are temporarily installed elsewhere - for example in the users home directory. This means that the modules are not available to other users. Once development is complete, only the module files need to be re-installed in their final location. Example:

  devel:
    install_root: /opt/psi
    modulefiles_root: ${HOME}/modulefiles_devel

Defaults to install_root.

type: n|h|r

Type of the overlay:

n

Modules are seamless merged (n: normal).

h

Modules with the same name in other overlays are made unavailable. (h: hidden)

r

Similar to type h but for groups. A overlay containing the group 'Foo' with this type makes all modules in the group Foo of other overlays unavailable.

layout: Pmodules|Spack|flat

Modulefiles layout/hierarchy of the overlay.

Pmodules

Modulefiles in the overlay are organized as defined for Pmodules.

Spack

Modulefiles have been created by Spack as hierarchical Lmod files.

flat

Modulefiles are not organized in groups nor hierarchical.

default_relstage: unstable|stable|deprecated

Default release stage of an overlay. This can be set for overlays with layout 'Spack' and 'flat'.

conflicts: [ol_name[,ol_name]…​]

List of overlays this overlay conflicts with.

excludes

This can be used to make modules of other overlays unavailable. Example: Make old version of gnuplot unavailable on new systems while they are still available on old systems.

  excludes:
    - gnuplot/5.[0-2]\..*
    - gnuplot/5.4.[0-5]$