File: INSTALL.txt

package info (click to toggle)
modules 5.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,493; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (1377 lines) | stat: -rw-r--r-- 75,593 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
Installing Modules on Unix
**************************

This document is an overview of building and installing Modules on a
Unix system.


Requirements
============

Modules consists of one Tcl script so to run it from a user shell the
only requirement is to have a working version of "tclsh" (version 8.5
or later) available on your system. "tclsh" is a part of Tcl
(http://www.tcl-lang.org/software/tcltk/).

To install Modules from a distribution tarball or a clone of the git
repository, a build step is there to tailor the "modulecmd.tcl" and
the initialization scripts to the chosen installation configuration
and create the documentation files. This build step requires the tools
to be found on your system:

* bash

* make

* sed

* runtest

When also installing Modules Tcl extension library (enabled by
default), these additional tools are needed:

* grep

* gcc

* tcl-devel >= 8.5

When installing from a distribution tarball, documentation is pre-
built and scripts to configure Modules Tcl extension library build are
already generated. Thus no additional software is required. When
installing from a clone of the git repository or from a git archive
export, documentation and scripts to prepare for compilation have to
be built and the following tools are required:

* autoconf

* automake

* autopoint

* m4

* python

* sphinx >= 1.0

* gzip

The following features of Modules rely on external tools. Default tool
may be changed or their location on target system may be specified.
Alternatively these features may also be disabled.

+------------------+-------------------------+---------------------------------+
| Feature option   | Default external tool   | Installation options            |
|==================|=========================|=================================|
| pager            | "less"                  | "--with-pager", "--without-     |
|                  |                         | pager"                          |
+------------------+-------------------------+---------------------------------+
| logger           | "logger"                | "--with-logger", "--without-    |
|                  |                         | logger"                         |
+------------------+-------------------------+---------------------------------+
| tcl_linter       | "nagelfar.tcl"          | "--with-tcl-linter", "--        |
|                  |                         | without-linter"                 |
+------------------+-------------------------+---------------------------------+


Get Modules
===========

Modules can usually be installed with the package manager of your Unix
system. It it is available by default on most Linux distributions, on
OS X and FreeBSD either under the name of "modules" or "environment-
modules".

If you want to install Modules from sources, tarballs from all
Modules' releases can be retrieved from one of the following link:

* https://github.com/envmodules/modules/releases/

* https://sourceforge.net/projects/modules/files/Modules/

For instance to download then unpack the last release of Modules:

   $ curl -LJO https://github.com/envmodules/modules/releases/download/v5.6.1/modules-5.6.1.tar.gz
   $ tar xfz modules-5.6.1.tar.gz


Installation instructions
=========================

The simplest way to build and install Modules is:

   $ ./configure
   $ make
   $ make install

Some explanation, step by step:

1. "cd" to the directory containing the package's source code. Your
   system must have the above requirements installed to properly build
   scripts, and documentation if build occurs from a clone of the git
   repository.

2. Type "./configure" to adapt the installation for your system. At
   this step you can choose the installation paths and the features
   you want to enable in the initialization scripts (see Build and
   installation options section below for a complete overview of the
   available options)

3. Type "make" to adapt scripts to the configuration, build Tcl
   extension library if enabled and build documentation if working
   from git repository.

4. Optionally, type "make test QUICKTEST=1" to run the lightweight
   version of the non-regression test suite.

5. Type "make install" to install modulecmd.tcl, initialization
   scripts and documentation.

6. Optionally, type "make testinstall" to run the installation test
   suite.

7. You can remove the built files from the source code directory by
   typing "make clean". To also remove the files that "configure"
   created, type "make distclean".

A default installation process like described above will install
Modules under "/usr/local/Modules". You can change this with the "--
prefix" option. By default, "/usr/local/Modules/modulefiles" will be
setup as the default directory containing modulefiles. "--
modulefilesdir" option enables to change this directory location. For
example:

   $ ./configure --prefix=/usr/share/Modules \
                 --modulefilesdir=/etc/modulefiles

See Build and installation options section to discover all
"./configure" option available.

Note:

  GNU Make is excepted to be used for this build and installation
  process. On non-Linux systems, the "gmake" should be called instead
  of "make".


Enable Modules in shells
========================

Shell initialization scripts should be adapted to enable Modules
during their startup. Enabling Modules means defining the "module"
shell function and applying its configuration.

An easy way to achieve that is to make Modules initialization scripts
part of the system-wide environment setup in "/etc/profile.d".To do
so, make a link in this directory to the profile scripts that can be
found in your Modules installation init directory. For instance, if
Modules has been installed in "/usr/share/modules":

   $ ln -s /usr/share/modules/init/profile.sh /etc/profile.d/modules.sh
   $ ln -s /usr/share/modules/init/profile.csh /etc/profile.d/modules.csh

These profile scripts will automatically adapt to the kind of "sh" or
"csh" shell you are running.

Another approach is to get the Modules initialization script sourced
from the shell configuration startup file. For instance following line
could be added to the end of the "~/.bashrc" file if running Bash
shell:

   . /usr/share/modules/init/bash

Beware that shells have multiple ways to initialize depending if they
are a login shell or not and if they are launched in interactive mode
or not.

Depending on your OS distribution system-wide profile scripts may be
ignored when initializing non-interactive shells. This is for instance
the case on Debian distribution and its derivatives like Ubuntu. On
such system, Modules initialization script should be sourced by shell
initialization files to get "module" function defined when executing a
command through "ssh" or running a script. Add the following code
snippets to the initialization files of the shell you use.

* For **Bash**, update either system-wide ("/etc/bash.bashrc" on
  Debian-like systems) or personal ("~/.bashrc") initialization file:

     # enable module command in non-login shells
     if ! shopt -q login_shell; then
         . /usr/share/modules/init/bash
     fi

* For **Csh**/**Tcsh**, add Modules initialization file into Csh rc
  directory ("/etc/csh/cshrc.d" on Debian-like systems):

     ln -s /usr/share/modules/init/csh /etc/csh/cshrc.d/modules

  Or update personal ("~/.cshrc") initialization file:

     # enable module command in non-login shells
     if (! $?loginsh) then
         source /usr/share/modules/init/csh
     endif

* For **Zsh**, update either system-wide ("/etc/zsh/zshenv" on Debian-
  like systems) or personal ("~/.zshenv") initialization file:

     # enable module command
     . /usr/share/modules/init/zsh

* For **Ksh**, update personal ("~/.kshrc") initialization file:

     # enable module command
     . /usr/share/modules/init/ksh

* For **Fish**, add Modules initialization file into Fish system-wide
  config directory ("/etc/fish/conf.d"):

     ln -s /usr/share/modules/init/fish /etc/fish/conf.d/modules.fish

  Or into Fish personal config directory ("~/.config/fish/conf.d"):

     ln -s /usr/share/modules/init/fish ~/.config/fish/conf.d/modules.fish


Configuration
=============

Once installed you should review and adapt the configuration to make
it fit your needs. The following steps are provided for example. They
are not necessarily mandatory as it depends of the kind of setup you
want to achieve.

1. Define module paths to enable by default. Edit "initrc"
   configuration file in the directory designated by the "--etcdir"
   option or edit "modulespath" in the same directory.

   If you use "modulespath" configuration file, add one line
   mentioning each modulefile directory:

      /path/to/regular/modulefiles
      /path/to/other/modulefiles

   If you use "initrc" configuration file, add one line mentioning
   each modulefile directory prefixed by the "module use" command:

      module use /path/to/regular/modulefiles
      module use /path/to/other/modulefiles

   In case both configuration files "initrc" and "modulespath" are
   present, Modules initialization process will first evaluate
   "modulespath" then "initrc".

   By default, the modulepaths specified on the "--with-modulepath"
   installation option are automatically defined for use in "initrc"
   (or in "modulespath" if the "--enable-modulespath" installation
   option has been set).

   Note:

     If you have set "--with-initconf-in" to "initdir" to install the
     Modules initialization configurations in the configuration
     directory designated by the "--initdir" option, the configuration
     files "initrc" and "modulespath" are respectively named
     "modulerc" and ".modulespath".

2. Define modulefiles to load by default. Edit "initrc" configuration
   file. Modulefiles to load cannot be specified in "modulespath"
   file. Add there all the modulefiles you want to load by default at
   Modules initialization time.

   Add one line mentioning each modulefile to load prefixed by the
   "module load" command:

      module load foo
      module load bar

   By default, the modules specified on the "--with-loadedmodules"
   installation option are automatically defined for load in "initrc".

   Alternatively, if users have module collections saved in their
   "HOME" directory, you may prefer restoring their default collection
   when Modules initializes rather loading the default module list:

      if {[is-saved default]} {
          module restore
      } else {
          module load foo
          module load bar
      }

   In fact you can add to the "initrc" configuration file any kind of
   supported module command, like "module config" commands to tune
   **module**'s default behaviors. This configuration way is
   recommended over directly modifying the shell initialization
   scripts.

See the Configuration options section to discover all Modules "config"
options available, their default value and the installation options
linked to them.

If you go through the above steps you should have a valid setup tuned
to your needs. After that you still have to write modulefiles to get
something to load and unload in your newly configured Modules setup.
In case you want to achieve a specific setup, some additional steps
may be required:

3. In case the configuration you expect cannot be achieved through the
   "initrc" configuration file, you may review and tune the
   initialization scripts. These files are located in the directory
   designated by the "--initdir" option. Beware that these scripts
   could be overwritten when upgrading to a newer version of Modules,
   so configuration should be done through the "initrc" file as far as
   possible.

4. If you want to alter the way the "modulecmd.tcl" script operates,
   the "siteconfig.tcl" script may be used. This Tcl file is located
   in the directory designated by the "--etcdir" option. Every time
   the **module** command is called, it executes the "modulecmd.tcl"
   script which in turns sources the "siteconfig.tcl" script during
   its startup phase. The site-specific configuration script could
   override default configuration values and more largely could
   supersede all procedures defined in "modulecmd.tcl" to obtain
   specific behaviors.

5. Prior running the module sub-command specified as argument, the
   "modulecmd.tcl" script evaluates the global run-command files.
   These files are either the "rc" file in the directory designated by
   the "--etcdir" option, the file(s) designated in the "MODULERCFILE"
   environment variable or the user-specific RC file located in
   "$HOME/.modulerc". The RC files are modulefiles (limited to a
   subset of the modulefile Tcl commands) that could define global
   module aliases, virtual modules or module properties such as tags,
   forbidding rules, etc.

   Note:

     Run-command files are intended to set parameters for modulefiles,
     not to configure the **module** command itself.

To learn more about siteconfig and run-command files, see the
Modulecmd startup section in module reference manual. You may also
look at the available setup recipes to get concrete deployment
examples of these files.


Upgrading
=========

In case you want to upgrade a pre-existing Modules installation, it is
suggested to:

1. Backup configuration files stored in *etcdir* (like
   "siteconfig.tcl" or "initrc");

2. Remove previous Modules installation;

3. Install new Modules version;

4. Review specific configuration of previous installation and adapt
   configuration files of new version.

It is advised to look at the different documents describing changes
and new features appearing between versions. By reading these
documents you will be able to determine the specific configuration
options to apply to satisfy your use cases.

* Changes between versions

* Release notes

* New features

In case you install Modules with the "--enable-versioning" option set,
you may be able to install a new version of Modules alongside existing
ones (if they also have been installed with this option set).


Build and installation options
==============================

Options available at the "./configure" installation step are described
below. These options enable to choose the installation paths and the
features to enable or disable. You can also get a description of these
options by typing "./configure --help".

Fine tuning of the installation directories (the default value for
each option is displayed within brackets):

--bindir=DIR

   Directory for executables reachable by users ["PREFIX/bin"]

--datarootdir=DIR

   Base directory to set the man and doc directories ["PREFIX/share"]

--docdir=DIR

   Directory to host documentation other than man pages like README,
   license file, etc ["DATAROOTDIR/doc"]

--emacsdatadir=DIR

   Directory to host Emacs addon files ["DATAROOTDIR/emacs/lisp"]

--etcdir=DIR

   Directory for the executable configuration scripts ["PREFIX/etc"]

--initdir=DIR

   Directory for the per-shell environment initialization scripts
   ["PREFIX/init"]

--libdir=DIR

   Directory for object code libraries like libtclenvmodules.so
   ["PREFIX/lib"]

--libexecdir=DIR

   Directory for executables called by other executables like
   modulecmd.tcl ["PREFIX/libexec"]

--mandir=DIR

   Directory to host man pages ["DATAROOTDIR/man"]

--modulefilesdir=DIR

   Directory of main modulefiles also called system modulefiles
   ["PREFIX/modulefiles"]

--nagelfardatadir=DIR

   Directory to host Nagelfar linter addon files
   ["DATAROOTDIR/nagelfar"]

--prefix=PREFIX

   Installation root directory ["/usr/local/Modules"]

--vimdatadir=DIR

   Directory to host Vim addon files ["DATAROOTDIR/vim/vimfiles"]

Optional Features (the default for each option is displayed within
parenthesis, to disable an option replace "enable" by "disable" for
instance "--disable-set-manpath"):

--enable-advanced-version-spec

   Activate the advanced module version specifiers which enables to
   finely select module versions by specifying after the module name a
   version constraint prefixed by the "@" character. This option also
   allows to specify module variants. (default=yes)

   This installation option defines the default value of the
   "advanced_version_spec" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-append-binpath

   Append rather prepend binary directory to the PATH environment
   variable when the "--enable-set-binpath" option is enabled.
   (default=no)

--enable-append-manpath

   Append rather prepend man page directory to the MANPATH environment
   variable when the "--enable-set-manpath" option is enabled.
   (default=no)

--enable-auto-handling

   Set modulecmd.tcl to automatically apply automated modulefiles
   handling actions, like loading the pre-requisites of a modulefile
   when loading this modulefile. (default=yes)

   This installation option defines the default value of the
   "auto_handling" configuration option which could be changed after
   installation with the "config" sub-command.

--enable-avail-indepth

   When performing an "avail" sub-command, include in search results
   the matching modulefiles and directories and recursively the
   modulefiles and directories contained in these matching directories
   when enabled or limit search results to the matching modulefiles
   and directories found at the depth level expressed by the search
   query if disabled. (default=yes)

   This installation option defines the default value of the
   "avail_indepth" configuration option which could be changed after
   installation with the "config" sub-command.

--enable-color

   Control if output should be colored by default or not. A value of
   "yes" equals to the "auto" color mode. "no" equals to the "never"
   color mode. (default=yes)

   This installation option defines the default value of the "color"
   configuration option which could be changed after installation with
   the "config" sub-command.

--enable-conflict-unload

   Apply automated unload of conflicting modulefiles when loading a
   module. (default=no)

   This installation option defines the default value of the
   "conflict_unload" configuration option which could be changed after
   installation with the "config" sub-command.

--enable-doc-install

   Install the documentation files in the documentation directory
   defined with the "--docdir" option. This feature has no impact on
   manual pages installation. Disabling documentation file
   installation is useful in case of installation process handled via
   a package manager which handles by itself the installation of this
   kind of documents. (default=yes)

--enable-emacs-addons

   Install the Emacs addon files in the Emacs addons directory defined
   with the "--emacsdatadir" option. (default=yes)

--enable-example-modulefiles

   Install some modulefiles provided as example in the system
   modulefiles directory defined with the "--modulefilesdir" option.
   (default=yes)

--enable-extended-default

   Allow to specify module versions by their starting part, i.e.
   substring separated from the rest of the version string by a "."
   character. (default=yes)

   This installation option defines the default value of the
   "extended_default" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-implicit-default

   Define an implicit default version, for modules with none
   explicitly defined, to select when the name of the module to
   evaluate is passed without the mention of a specific version. When
   this option is disabled the name of the module passed for
   evaluation should be fully qualified elsewhere an error is
   returned. (default=yes)

   This installation option defines the default value of the
   "implicit_default" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-implicit-requirement

   Implicitly define a prereq or a conflict requirement toward modules
   specified respectively on "module load" or "module unload" commands
   in modulefile. (default=yes)

   This installation option defines the default value of the
   "implicit_requirement" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-libtclenvmodules

   Build and install the Modules Tcl extension library which provides
   optimized Tcl commands for the modulecmd.tcl script. (default=yes)

--enable-mcookie-version-check

   Enable check of the version specified right after Modules magic
   cookie (i.e., "#%Module" file signature) in modulefiles, which
   defines the minimal version of the Modules tool to use in order to
   evaluate the modulefile. (default=yes)

   This installation option defines the default value of the
   "mcookie_version_check" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-ml

   Define the **ml** command, a handy frontend to the module command,
   when Modules initializes. (default=yes)

   This installation option defines the default value of the "ml"
   configuration option which could be changed after installation with
   the "config" sub-command.

--enable-modulespath, --enable-dotmodulespath

   Set the module paths defined by "--with-modulepath" option in a
   "modulespath" file (following C version fashion) within the
   initialization directory defined by the "--etcdir" option rather
   than within the "initrc" file. Or respectively, if option "--with-
   initconf-in" has been set to "initdir", in a ".modulespath" file
   within the configuration directory defined by the "--initdir"
   option rather than within the "modulerc" file. (default=no)

--enable-multilib-support

   Support multilib systems by looking in modulecmd.tcl at an
   alternative location where to find the Modules Tcl extension
   library depending on current machine architecture. (default=no)

--enable-nagelfar-addons

   Install the Nagelfar linter addon files (syntax databases and
   plugins to lint modulefiles and modulercs) in the Nagelfar addons
   directory defined with the "--nagelfardatadir" option.
   (default=yes)

--enable-new-features

   Enable all new features that are disabled by default due to the
   substantial behavior changes they imply on Modules 5. This option
   is equivalent to the cumulative use of "--with-abort-on-
   error=load:ml:reload:switch", "--enable-conflict-unload" and "--
   enable-require-via". (default=no)

--enable-quarantine-support

   Generate code in module function definition to add support for the
   environment variable quarantine mechanism (default=no)

   This installation option defines the default value of the
   "quarantine_support" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-require-via

   Consider loaded module that enables a modulepath, a requirement of
   loaded modules stored in this modulepath. (default=no)

   This installation option defines the default value of the
   "require_via" configuration option which could be changed after
   installation with the "config" sub-command.

--enable-set-binpath

   Prepend binary directory defined by the "--bindir" option to the
   PATH environment variable in the shell initialization scripts.
   (default=yes)

--enable-set-manpath

   Prepend man page directory defined by the "--mandir" option to the
   MANPATH environment variable in the shell initialization scripts.
   (default=yes)

--enable-set-shell-startup

   Set when module function is defined the shell startup file to
   ensure that the module function is still defined in sub-shells.
   (default=no)

   This installation option defines the default value of the
   "set_shell_startup" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-silent-shell-debug-support

   Generate code in module function definition to add support for
   silencing shell debugging properties (default=no)

   This installation option defines the default value of the
   "silent_shell_debug" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-source-cache

   Cache content of files evaluated through *source(n)* Tcl command in
   modulefile. When same file is sourced multiple times, cached
   content is reused rather reading file again.

   This installation option defines the default value of the
   "source_cache" configuration option which could be changed after
   installation with the "config" sub-command.

--enable-spider-indepth

   When performing an "spider" sub-command, include in search results
   the matching modulefiles and directories and recursively the
   modulefiles and directories contained in these matching directories
   when enabled or limit search results to the matching modulefiles
   and directories found at the depth level expressed by the search
   query if disabled. (default=yes)

   This installation option defines the default value of the
   "spider_indepth" configuration option which could be changed after
   installation with the "config" sub-command.

--enable-versioning

   Append Modules version to installation prefix and deploy a
   "versions" modulepath shared between all versioning enabled Modules
   installation. A modulefile corresponding to Modules version is
   added to the shared modulepath and enables to switch from one
   Modules version to another. (default=no)

--enable-unique-name-loaded

   Only allow one module loaded per module name. A conflict is raised
   when loading a module whose name or alternative names are shared by
   an already loaded module. (default=no)

   This installation option defines the default value of the
   "unique_name_loaded" configuration option which could be changed
   after installation with the "config" sub-command.

--enable-vim-addons

   Install the Vim addon files in the Vim addons directory defined
   with the "--vimdatadir" option. (default=yes)

--enable-wa-277

   Activate workaround for issue #277 related to Tcsh history
   mechanism which does not cope well with default module alias
   definition. Note that enabling this workaround solves Tcsh history
   issue but weakens shell evaluation of the code produced by
   modulefiles. (default=no)

   This installation option defines the default value of the "wa_277"
   configuration option which could be changed after installation with
   the "config" sub-command.

--enable-windows-support

   Install all required files for Windows platform (**module**, **ml**
   and **envml** command batch file and "cmd.cmd" initialization
   script). (default=no)

Optional Packages (the default for each option is displayed within
parenthesis, to disable an option replace "with" by "without" for
instance "--without-modulepath"):

--with-abort-on-error=LIST

   When evaluating multiple modulefiles, if one fails abort evaluation
   sequence and withdraw already evaluated modulefiles for listed
   module sub-commands. Sub-commands accepted in LIST are: "load",
   **ml**, "mod-to-sh", "purge", "reload", "switch", "switch_unload",
   "try-load" and "unload" (elements in LIST are separated by ":").
   (default="ml:reload:switch_unload")

   This installation option defines the default value of the
   "abort_on_error" configuration option which could be changed after
   installation with the "config" sub-command.

--with-avail-output=LIST

   Specify the content to report on avail sub-command regular output
   in addition to the available module names. Elements accepted in
   LIST are: "modulepath", "alias", "provided-alias", "dirwsym",
   "indesym", "sym", "tag", "key", "hidden", "variant",
   "variantifspec" and "via" (elements in LIST are separated by ":").
   The order of the elements in LIST does not matter.
   (default="modulepath:alias:dirwsym:sym:tag:variantifspec:key")

   This installation option defines the default value of the
   "avail_output" configuration option which could be changed after
   installation with the "config" sub-command.

--with-avail-terse-output=LIST

   Specify the content to report on avail sub-command terse output in
   addition addition to the available module names. Elements accepted
   in LIST are: "modulepath", "alias", "provided-alias", "dirwsym",
   "indesym", "sym", "tag", "key", "hidden", "variant" and
   "variantifspec" (elements in LIST are separated by ":"). The order
   of the elements in LIST does not matter.
   (default="modulepath:alias:dirwsym:sym:tag:variantifspec")

   This installation option defines the default value of the
   "avail_terse_output" configuration option which could be changed
   after installation with the "config" sub-command.

--with-bashcompletiondir=DIR

   Directory for Bash completion scripts. When this option is not set
   Bash completion script for Modules is installed in the
   initialization script directory and is sourced from Modules Bash
   initialization script. (default=)

--with-bin-search-path=PATHLIST

   List of paths to look at when searching the location of tools
   required to build and configure Modules
   (default="/usr/bin:/bin:/usr/local/bin")

--with-dark-background-colors=SGRLIST

   Default color set to apply if terminal background color is defined
   to "dark". SGRLIST follows the same syntax than used in
   "LS_COLORS". Each element in SGRLIST is an output item associated
   to a Select Graphic Rendition (SGR) code. Elements in SGRLIST are
   separated by ":". Output items are designated by keys.

   Items able to be colorized are: highlighted element ("hi"), debug
   information ("db"), trace information ("tr") tag separator ("se");
   Error ("er"), warning ("wa"), module error ("me") and info ("in")
   message prefixes; Modulepath ("mp"), directory ("di"), module alias
   ("al"), module variant ("va"), module symbolic version ("sy") and
   module "default" version ("de").

   Module tags can also be colorized. The key to set in the color
   palette to get a graphical rendering of a tag is the tag name or
   the tag abbreviation if one is defined for tag. The SGR code
   applied to a tag name is ignored if an abbreviation is set for this
   tag thus the SGR code should be defined for this abbreviation to
   get a graphical rendering. Each basic tag has by default a key set
   in the color palette, based on its abbreviated string: auto-loaded
   ("aL"), forbidden ("F"), hidden and hidden-loaded ("H"), loaded
   ("L"), nearly-forbidden ("nF"), sticky ("S"), super-sticky ("sS"),
   keep-loaded ("kL") and warning ("W").

   For a complete SGR code reference, see https://en.wikipedia.org/wi
   ki/ANSI_escape_code#Select_Graphic_Rendition_parameters. (default=
   "hi=1:db=2:tr=2:se=2:er=91:wa=93:me=95:in=94:mp=1;94:di=94:al=96:v
   a=93:sy=95:de=4:cm=92:aL=100:L=90;47:H=2:F=41:nF=31;43:S=46:sS=44:
   kL=30;48;5;109:W=30;43")

   This installation option defines the default value of the "colors"
   configuration option when "term_background" configuration option
   equals "dark". "colors" could be changed after installation with
   the "config" sub-command.

--with-editor=BIN

   Name or full path of default editor program to use to open
   modulefile through the "edit" sub-command. (default="vi")

   This installation option defines the default value of the "editor"
   configuration option which could be changed after installation with
   the "config" sub-command.

--with-fishcompletiondir=DIR

   Directory for Fish completion scripts. When this option is not set
   Fish completion script for Modules is installed in the
   initialization script directory and is sourced from Modules Fish
   initialization script. (default=)

--with-icase=VALUE

   Apply a case insensitive match to module specification on "avail",
   "whatis" and "paths" sub-commands (when set to "search") or on all
   module sub-commands and modulefile Tcl commands for the module
   specification they receive as argument (when set to "always"). Case
   insensitive match is disabled when this option is set to "never".
   (default="search")

   This installation option defines the default value of the "icase"
   configuration option which could be changed after installation with
   the "config" sub-command.

--with-initconf-in=VALUE

   Location where to install Modules initialization configuration
   files. Either "initdir" or "etcdir" (default="etcdir")

--with-light-background-colors=SGRLIST

   Default color set to apply if terminal background color is defined
   to "light". Expect the same syntax than described for "--with-dark-
   background-colors". (default="hi=1:db=2:tr=2:se=2:er=31:wa=33:me=3
   5:in=34:mp=1;34:di=34:al=36:va=33:sy=35:de=4:cm=32:aL=107:L=47:H=2
   :F=101:nF=91;103:S=106:sS=104:kL=48;5;109:W=103")

   This installation option defines the default value of the "colors"
   configuration option when "term_background" configuration option
   equals "light". "colors" could be changed after installation with
   the "config" sub-command.

--with-list-output=LIST

   Specify the content to report on list sub-command regular output in
   addition to the loaded module names. Elements accepted in LIST are:
   "header", "idx", "variant", "alias", "indesym", "sym", "tag",
   "hidden" and "key" (elements in LIST are separated by ":"). The
   order of the elements in LIST does not matter.
   (default="header:idx:variant:sym:tag:key")

   This installation option defines the default value of the
   "list_output" configuration option which could be changed after
   installation with the "config" sub-command.

--with-list-terse-output=LIST

   Specify the content to report on list sub-command terse output in
   addition to the loaded module names. Elements accepted in LIST are:
   "header", "idx", "variant", "alias", "indesym", "sym", "tag",
   "hidden" and "key" (elements in LIST are separated by ":"). The
   order of the elements in LIST does not matter. (default="header")

   This installation option defines the default value of the
   "list_terse_output" configuration option which could be changed
   after installation with the "config" sub-command.

--with-loadedmodules=MODLIST

   Default modulefiles to load at Modules initialization time. Each
   modulefile in this list should be separated by ":". Defined value
   is registered in the "initrc" configuration file or in the
   "modulerc" file if "--with-initconf-in" is set to "initdir".
   (default=)

--with-locked-configs=CONFIGLIST

   Ignore environment variable superseding value for the listed
   configuration options. Accepted option names in CONFIGLIST are
   "extra_siteconfig" , "implicit_default", "logged_events" and
   "logger" (each option name should be separated by whitespace
   character). (default=)

   This installation option defines the default value of the
   "locked_configs" configuration option which cannot not be changed
   after installation.

--with-logged-events=EVENTLIST

   Events to log. Accepted event names in EVENTLIST are "auto_eval",
   "requested_eval" and "requested_cmd" (each event name in this list
   should be separated by ":"). The order of the elements in EVENTLIST
   does not matter. (default=)

   This installation option defines the default value of the
   "logged_events" configuration option which cannot not be changed
   after installation.

--with-logger=BIN

   Name or full path of default logger program to use to log
   information (can be superseded at run-time by environment variable)
   (default="logger")

   This installation option and "--with-logger-opts" define the
   default value of the "logger" configuration option which could be
   changed after installation with the "config" sub-command.

--with-logger-opts=OPTLIST

   Settings to apply to default logger program (default="-t modules")

   This installation option and "--with-logger" define the default
   value of the "logger" configuration option which could be changed
   after installation with the "config" sub-command.

--with-modulepath=PATHLIST

   Default path list to setup as the default modulepaths. Each path in
   this list should be separated by ":". Defined value is registered
   in the "initrc" or "modulespath" configuration file, depending on
   the "--enable-modulespath" option. These files are respectively
   called "modulerc" and ".modulespath" if "--with-initconf-in" is set
   to "initdir". The path list value is read at initialization time to
   populate the MODULEPATH environment variable. By default, this
   modulepath is composed of the directory set for the system
   modulefiles (default="PREFIX/modulefiles" or
   "BASEPREFIX/$MODULE_VERSION/modulefiles" if versioning installation
   mode enabled)

--with-moduleshome

   Location of the main Modules package file directory
   (default="PREFIX")

   This installation option defines the default value of the "home"
   configuration option which could be changed after installation with
   the "config" sub-command.

--with-nearly-forbidden-days=VALUE

   Define the number of days a module is considered nearly forbidden
   prior reaching its expiry date. VALUE should be an integer
   comprised between 0 and 365. (default="14")

   This installation option defines the default value of the
   "nearly_forbidden_days" configuration option which could be changed
   after installation with the "config" sub-command.

--with-pager=BIN

   Name or full path of default pager program to use to paginate
   informational message output (can be superseded at run-time by
   environment variable) (default="less")

   This installation option and "--with-pager-opts" define the default
   value of the "pager" configuration option which could be changed
   after installation with the "config" sub-command.

--with-pager-opts=OPTLIST

   Settings to apply to default pager program (default="-eFKRX")

   This installation option and "--with-pager" define the default
   value of the "pager" configuration option which could be changed
   after installation with the "config" sub-command.

--with-python=BIN

   Name or full path of Python interpreter command to set as shebang
   for helper scripts. (default="python")

--with-quarantine-vars=<VARNAME[=VALUE] ...>

   Environment variables to put in quarantine when running the module
   command to ensure it a sane execution environment (each variable
   should be separated by space character). A value can eventually be
   set to a quarantine variable instead of emptying it. (default=)

   This installation option defines the default value of the
   "MODULES_RUN_QUARANTINE" and "MODULES_RUNENV_<VAR>" environment
   variables which could be changed after installation with the
   "config" sub-command on "run_quarantine" configuration option.

--with-search-match=VALUE

   When searching for a module with "avail" sub-command, match query
   string against module name start ("starts_with") or any part of
   module name string ("contains"). (default="starts_with")

   This installation option defines the default value of the
   "search_match" configuration option which could be changed after
   installation with the "config" sub-command.

--with-spider-output=LIST

   Specify the content to report on spider sub-command regular output
   in addition to the available module names. Elements accepted in
   LIST are: "modulepath", "alias", "provided-alias", "dirwsym",
   "indesym", "sym", "tag", "key", "hidden", "variant",
   "variantifspec" and "via" (elements in LIST are separated by ":").
   The order of the elements in LIST does not matter.
   (default="modulepath:alias:dirwsym:sym:tag:variantifspec:via:key")

   This installation option defines the default value of the
   "spider_output" configuration option which could be changed after
   installation with the "config" sub-command.

--with-spider-terse-output=LIST

   Specify the content to report on spider sub-command terse output in
   addition addition to the available module names. Elements accepted
   in LIST are: "modulepath", "alias", "provided-alias", "dirwsym",
   "indesym", "sym", "tag", "key", "hidden", "variant" and
   "variantifspec" (elements in LIST are separated by ":"). The order
   of the elements in LIST does not matter.
   (default="modulepath:alias:dirwsym:sym:tag:variantifspec")

   This installation option defines the default value of the
   "spider_terse_output" configuration option which could be changed
   after installation with the "config" sub-command.

--with-sticky-purge=VALUE

   When unloading a sticky or super-sticky module during a module
   purge, raise an "error" or emit a "warning" message or be "silent".
   (default="error")

   This installation option defines the default value of the
   "sticky_purge" configuration option which could be changed after
   installation with the "config" sub-command.

--with-tag-abbrev=ABBRVLIST

   Define the abbreviation to use when reporting each module tag. Each
   element in ABBRVLIST is a tag name associated to an abbreviation
   string (elements in ABBRVLIST are separated by ":"). (default
   ="auto-loaded=aL:loaded=L:hidden=H:hidden-loaded=H:forbidden=F
   :nearly-forbidden=nF:sticky=S:super-sticky=sS:keep-
   loaded=kL:warning=W")

   This installation option defines the default value of the
   "tag_abbrev" configuration option which could be changed after
   installation with the "config" sub-command.

--with-tag-color-name=TAGLIST

   Define the tags whose graphical rendering should be applied over
   their name instead of over the name of the module they are attached
   to. Each element in TAGLIST is a tag name or abbreviation (elements
   in TAGLIST are separated by ":"). (default=)

   This installation option defines the default value of the
   "tag_color_name" configuration option which could be changed after
   installation with the "config" sub-command.

--with-tcl

   Directory containing the Tcl configuration script "tclConfig.sh".
   Useful to compile Modules Tcl extension library if this file cannot
   be automatically found in default locations.

--with-tclinclude

   Directory containing the Tcl header files. Useful to compile
   Modules Tcl extension library if these headers cannot be
   automatically found in default locations.

--with-tclsh=BIN

   Name or full path of Tcl interpreter shell (default="tclsh")

--with-tcl-linter=BIN

   Name or full path of program to use to lint modulefile through the
   "lint" sub-command. (default="nagelfar.tcl")

   This installation option and "--with-tcl-linter-opts" define the
   default value of the "tcl_linter" configuration option which could
   be changed after installation with the "config" sub-command.

--with-tcl-linter-opts=OPTLIST

   Settings to apply to Tcl linter program (default=)

   This installation option and "--with-tcl-linter" define the default
   value of the "tcl_linter" configuration option which could be
   changed after installation with the "config" sub-command.

--with-terminal-background=VALUE

   The terminal background color that determines the color set to
   apply by default between the "dark" background colors or the
   "light" background colors (default="dark")

   This installation option defines the default value of the
   "term_background" configuration option which could be changed after
   installation with the "config" sub-command.

--with-unload-match-order=VALUE

   When unloading a module if multiple loaded modules match the
   request, unload module loaded first ("returnfirst") or module
   loaded last ("returnlast") (default="returnlast")

   This installation option defines the default value of the
   "unload_match_order" configuration option which could be changed
   after installation with the "config" sub-command.

--with-variant-shortcut=SHORTCUTLIST

   Define the shortcut characters that could be used to specify
   variant names. Each element in SHORTCUTLIST is a variant name
   associated to a shortcut character (e.g., "foo=%"). Shortcuts
   cannot exceed a length of 1 character and cannot be alphanumeric
   characters ([A-Za-z0-9]) or characters with already a special
   meaning ([+~/@=-]). Elements in SHORTCUTLIST are separated by ":".
   (default=)

   This installation option defines the default value of the
   "variant_shortcut" configuration option which could be changed
   after installation with the "config" sub-command.

--with-verbosity=VALUE

   Specify default message verbosity. accepted values are "silent",
   "concise", "normal", "verbose", "verbose2", "trace", "debug" and
   "debug2". (default="normal")

   This installation option defines the default value of the
   "verbosity" configuration option which could be changed after
   installation with the "config" sub-command.

--with-zshcompletiondir=DIR

   Directory for Zsh completion scripts. When this option is not set
   Zsh completion script for Modules is installed in the
   initialization script directory and "FPATH" is set in Zsh
   initialization script to point to this location. (default=)


Configuration options
=====================

Options available through the "config" sub-command are described
below. In addition to their default value, the related installation
option, environment variable and command-line switch are listed for
each configuration option. This table also describes if each
configuration option needs to be set prior or during Modules
initialization and if it can be modified after installation.

+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| Configuration option                | Default value                                  | Related installation option, environment       | Set prior or   | Cannot be   |
|                                     |                                                | variable and command-line switch               | during         | altered     |
|                                     |                                                |                                                | initialization |             |
|=====================================|================================================|================================================|================|=============|
| "abort_on_error"                    | "ml:reload:switch_unload"                      | "--with-abort-on-error",                       |                |             |
|                                     |                                                | "MODULES_ABORT_ON_ERROR"                       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "advanced_version_spec"             | "1"                                            | "--enable-advanced-version-spec",              |                |             |
|                                     |                                                | "MODULES_ADVANCED_VERSION_SPEC"                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "auto_handling"                     | "1"                                            | "--enable-auto-handling",                      |                |             |
|                                     |                                                | "MODULES_AUTO_HANDLING", "--auto", "--no-      |                |             |
|                                     |                                                | auto"                                          |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "avail_indepth"                     | "1"                                            | "--enable-avail-indepth",                      |                |             |
|                                     |                                                | "MODULES_AVAIL_INDEPTH", "--indepth", "--no-   |                |             |
|                                     |                                                | indepth"                                       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "avail_output"                      | modulepath:alias:dirwsym:sym:tag:variantifspe  | "--with-avail-output", "MODULES_AVAIL_OUTPUT", |                |             |
|                                     | c:key                                          | "--output"                                     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "avail_terse_output"                | modulepath:alias:dirwsym:sym:tag:variantifspec | "--with-avail-terse-output",                   |                |             |
|                                     |                                                | "MODULES_AVAIL_TERSE_OUTPUT", "--output"       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "cache_buffer_bytes"                | "32768"                                        | "MODULES_CACHE_BUFFER_BYTES"                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "cache_expiry_secs"                 | "0"                                            | "MODULES_CACHE_EXPIRY_SECS"                    |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "collection_pin_version"            | "0"                                            | "MODULES_COLLECTION_PIN_VERSION"               |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "collection_pin_tag"                | "0"                                            | "MODULES_COLLECTION_PIN_TAG"                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "collection_target"                 | *Unset by default*                             | "MODULES_COLLECTION_TARGET"                    |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "color"                             | "auto"                                         | "--enable-color", "MODULES_COLOR", "--color"   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "colors"                            | hi=1:db=2:tr=2:se=2:er=91:wa=93:me=95:in=94:m  | "--with-dark-background-colors", "--with-      |                |             |
|                                     | p=1;94:di=94:al=96:va=93 :sy=95:de=4:cm=92:aL  | light-background-colors", "MODULES_COLORS"     |                |             |
|                                     | =100:L=90;47:H=2:F=41:nF=31;43:S=46:sS=44:kL=  |                                                |                |             |
|                                     | 30;4 8;5;109:W=30;43                           |                                                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "conflict_unload"                   | "0"                                            | "--enable-conflict-unload",                    |                |             |
|                                     |                                                | "MODULES_CONFLICT_UNLOAD"                      |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "contact"                           | "root@localhost"                               | "MODULECONTACT"                                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "extended_default"                  | "1"                                            | "--enable-extended-default",                   |                |             |
|                                     |                                                | "MODULES_EXTENDED_DEFAULT"                     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "editor"                            | "vi"                                           | "--with-editor", "MODULES_EDITOR"              |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "extra_siteconfig"                  | *Unset by default*                             | "MODULES_SITECONFIG"                           |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "hide_auto_loaded"                  | "0"                                            | "MODULES_HIDE_AUTO_LOADED"                     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "home"                              | "/usr/share/Modules"                           | "--prefix", "--with-moduleshome",              |                |             |
|                                     |                                                | "MODULESHOME"                                  |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "icase"                             | "search"                                       | "--with-icase", "MODULES_ICASE", "--icase"     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ignore_cache"                      | "0"                                            | "MODULES_IGNORE_CACHE", "--ignore-cache"       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ignore_user_rc"                    | "0"                                            | "MODULES_IGNORE_USER_RC", "--ignore-user-rc"   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ignored_dirs"                      | "CVS RCS SCCS .svn .git .SYNC .sos"            |                                                |                | X           |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "implicit_default"                  | "1"                                            | "--enable-implicit-default",                   |                |             |
|                                     |                                                | "MODULES_IMPLICIT_DEFAULT"                     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "implicit_requirement"              | "1"                                            | "--enable-implicit-requirement",               |                |             |
|                                     |                                                | "MODULES_IMPLICIT_REQUIREMENT"                 |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "list_output"                       | "header:idx:variant:sym:tag:key"               | "--with-list-output", "MODULES_LIST_OUTPUT", " |                |             |
|                                     |                                                | --output"                                      |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "list_terse_output"                 | "header"                                       | "--with-list-terse-output",                    |                |             |
|                                     |                                                | "MODULES_LIST_TERSE_OUTPUT", "--output"        |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "locked_configs"                    | *Empty by default*                             | "--with-locked-configs"                        |                | X           |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "logged_events"                     | *Empty by default*                             | "--with-logged-events",                        |                |             |
|                                     |                                                | "MODULES_LOGGED_EVENTS"                        |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "logger"                            | "logger -t modules"                            | "--with-logger", "--with-logger-opts",         |                |             |
|                                     |                                                | "MODULES_LOGGER"                               |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "mcookie_check"                     | "always"                                       | "MODULES_MCOOKIE_CHECK"                        |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "mcookie_version_check"             | "1"                                            | "--enable-mcookie-version-check",              |                |             |
|                                     |                                                | "MODULES_MCOOKIE_VERSION_CHECK"                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "ml"                                | "1"                                            | "--enable-ml", "MODULES_ML"                    | X              |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "nearly_forbidden_days"             | "14"                                           | "--with-nearly-forbidden-days",                |                |             |
|                                     |                                                | "MODULES_NEARLY_FORBIDDEN_DAYS"                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "pager"                             | "less -eFKRX"                                  | "--with-pager", "--with-pager-opts",           |                |             |
|                                     |                                                | "MODULES_PAGER", "--paginate", " --no-pager"   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "protected_envvars"                 | *Unset by default*                             | "MODULES_PROTECTED_ENVVARS"                    |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "quarantine_support"                | "0"                                            | "--enable-quarantine-support",                 | X              |             |
|                                     |                                                | "MODULES_QUARANTINE_SUPPORT"                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "rcfile"                            | *Unset by default*                             | "MODULERCFILE"                                 |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "redirect_output"                   | "1"                                            | "MODULES_REDIRECT_OUTPUT", "--redirect", "--   |                |             |
|                                     |                                                | no-redirect"                                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "require_via"                       | "0"                                            | "--enable-require-via", "MODULES_REQUIRE_VIA"  |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "reset_target_state"                | "__init__"                                     | "MODULES_RESET_TARGET_STATE",                  |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "run_quarantine"                    | *Empty by default*                             | "--with-quarantine-vars",                      |                |             |
|                                     |                                                | "MODULES_RUN_QUARANTINE"                       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "search_match"                      | "starts_with"                                  | "--with-search-match", "MODULES_SEARCH_MATCH", |                |             |
|                                     |                                                | "--contains", "-- starts-with"                 |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "set_shell_startup"                 | "0"                                            | "--enable-set-shell-startup",                  | X              |             |
|                                     |                                                | "MODULES_SET_SHELL_STARTUP"                    |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "shells_with_ksh_fpath"             | *Empty by default*                             | "MODULES_SHELLS_WITH_KSH_FPATH"                | X              |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "silent_shell_debug"                | "0"                                            | "--enable-silent-shell-debug-support",         | X              |             |
|                                     |                                                | "MODULES_SILENT_SHELL_DEBUG"                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "siteconfig"                        | "/etc/environment-modules/siteconfig.tcl"      | "--prefix", "--etcdir"                         |                | X           |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "source_cache"                      | "0"                                            | "--enable-source-cache",                       |                |             |
|                                     |                                                | "MODULES_SOURCE_CACHE"                         |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "spider_indepth"                    | "1"                                            | "--enable-spider-indepth",                     |                |             |
|                                     |                                                | "MODULES_SPIDER_INDEPTH", "--indepth", "-- no- |                |             |
|                                     |                                                | indepth"                                       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "spider_output"                     | modulepath:alias:dirwsym:sym:tag:variantifspe  | "--with-spider-output",                        |                |             |
|                                     | c:via:key                                      | "MODULES_SPIDER_OUTPUT", "--output"            |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "spider_terse_output"               | modulepath:alias:dirwsym:sym:tag:variantifspec | "--with-spider-terse-output",                  |                |             |
|                                     |                                                | "MODULES_SPIDER_TERSE_OUTPUT", "-- output"     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "sticky_purge"                      | "error"                                        | "--with-sticky-purge", "MODULES_STICKY_PURGE"  |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tag_abbrev"                        | auto-loaded=aL:loaded=L:hidden=H:hidden-       | "--with-tag-abbrev", "MODULES_TAG_ABBREV"      |                |             |
|                                     | loaded=H:forbidden=F:nearly-                   |                                                |                |             |
|                                     | forbidden=nF:sticky=S:super-sticky=sS:keep-    |                                                |                |             |
|                                     | loaded=kL:warning=W                            |                                                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tag_color_name"                    | *Empty by default*                             | "--with-tag-color-name",                       |                |             |
|                                     |                                                | "MODULES_TAG_COLOR_NAME"                       |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tcl_ext_lib"                       | "/usr/share/Modules/lib64/libtclenvmodules.so" |                                                |                | X           |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "tcl_linter"                        | "nagelfar.tcl"                                 | "--with-tcl-linter", "--with-tcl-linter-opts", |                |             |
|                                     |                                                | "MODULES_TCL_LINTER"                           |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "term_background"                   | "dark"                                         | "--with-terminal-background",                  |                |             |
|                                     |                                                | "MODULES_TERM_BACKGROUND"                      |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "term_width"                        | "0"                                            | "MODULES_TERM_WIDTH", "--width"                |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "unique_name_loaded"                | "0"                                            | "--enable-unique-name-loaded",                 |                |             |
|                                     |                                                | "MODULES_UNIQUE_NAME_LOADED"                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "unload_match_order"                | "returnlast"                                   | "--with-unload-match-order",                   |                |             |
|                                     |                                                | "MODULES_UNLOAD_MATCH_ORDER"                   |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "variant_shortcut"                  | *Empty by default*                             | "--with-variant-shortcut",                     |                |             |
|                                     |                                                | "MODULES_VARIANT_SHORTCUT"                     |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "verbosity"                         | "normal"                                       | "--with-verbosity", "MODULES_VERBOSITY", "--   |                |             |
|                                     |                                                | debug", "--silent", "-- trace", "--verbose"    |                |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+
| "wa_277"                            | "1"                                            | "--enable-wa-277", "MODULES_WA_277"            | X              |             |
+-------------------------------------+------------------------------------------------+------------------------------------------------+----------------+-------------+