@@ -99,15 +99,27 @@ Setup
9999=====
100100
101101Setup includes, after installation, editing any configuration values to
102- customize your install. The defaults are likely suitable for most.
103- For any configuration value that you might set, the following variables
104- are available to you:
102+ customize your install. The configuration file will default to ``shpc/settings.yml ``
103+ in the installed module, however you can create your own user settings file to
104+ take preference over this one as follows:
105+
106+ .. code-block :: console
107+
108+ $ shpc config userinit
109+
110+
111+ The defaults in either file are likely suitable for most. For any configuration value
112+ that you might set, the following variables are available to you:
105113
106114 - ``$install_dir ``: the shpc folder
107115 - ``$root_dir ``: the parent directory of shpc (where this README.md is located)
108116
109117
110- A summary table of variables is included below, and then further discussed in detail.
118+ Additionally, the variables ``module_base ``, ``container_base ``, and ``registry ``
119+ can be set with environment variables that will be expanded at runtime. You cannot
120+ use the protected set of substitution variables (``$install_dir `` and ``$install_root ``)
121+ as environment variables, as they will be subbed in by shpc before environment
122+ variable replacement. A summary table of variables is included below, and then further discussed in detail.
111123
112124
113125.. list-table :: Title
@@ -121,8 +133,8 @@ A summary table of variables is included below, and then further discussed in de
121133 - Set a default module system. Currently lmod and tcl are supported
122134 - [lmod, tcl]
123135 * - registry
124- - The full path to the registry folder (with subfolders with container.yaml recipes)
125- - $root_dir/registry
136+ - A list of full paths to one or more registry folders (with subfolders with container.yaml recipes)
137+ - [ $root_dir/registry]
126138 * - module_base
127139 - The install directory for modules. Defaults to the install directory/modules
128140 - $root_dir/modules
@@ -271,8 +283,10 @@ directory.
271283Registry
272284--------
273285
274- The registry folder in the root of the repository, but you can change it to
275- be a custom one with the config variable ``registry ``
286+ The registry parameter is a list of one or more registry locations (filesystem
287+ directories) where shpc will search for ``container.yaml `` files. The default
288+ registry shipped with shpc is the folder in the root of the repository, but
289+ you can add or remove entries via the config variable ``registry ``
276290
277291
278292.. code-block :: console
@@ -409,6 +423,8 @@ file directly, or you can use ``shpc config``, which will accept:
409423
410424 - set to set a parameter and value
411425 - get to get a parameter by name
426+ - add to add a value to a parameter that is a list (e.g., registry)
427+ - remove to remove a value from a parameter that is a list
412428
413429The following example shows changing the default module_base path from the install directory modules folder.
414430
@@ -428,6 +444,14 @@ And then to get values:
428444 $ shpc config get module_base
429445
430446
447+ And to add and remove a value to a list:
448+
449+ .. code-block::console
450+
451+ $ shpc config add registry:/tmp/registry
452+ $ shpc config remove registry:/tmp/registry
453+
454+
431455 You can also open the config in the editor defined in settings at ``config_editor ``
432456
433457.. code-block :: console
0 commit comments