tlbuild: tlmgr CONFIGURATION FILE FOR TLMGR
B.7 CONFIGURATION FILE FOR TLMGR
================================
'tlmgr' reads two configuration files: one is system-wide, in
'TEXMFSYSCONFIG/tlmgr/config', and the other is user-specific, in
'TEXMFCONFIG/tlmgr/config'. The user-specific one is the default for
the 'conf tlmgr' action. (Run 'kpsewhich -var-value=TEXMFSYSCONFIG' or
'... TEXMFCONFIG ...' to see the actual directory names.)
A few defaults corresponding to command-line options can be set in
these configuration files. In addition, the system-wide file can
contain a directive to restrict the allowed actions.
In these config files, empty lines and lines starting with # are
ignored. All other lines must look like:
key = value
where the spaces are optional but the '=' is required.
The allowed keys are:
'auto-remove =' 0 or 1 (default 1), same as command-line option.
'gui-expertmode =' 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.
'gui-lang =' _llcode_, with a language code value as with the command-line option.
'no-checksums =' 0 or 1 (default 0, see below).
'persistent-downloads =' 0 or 1 (default 1), same as command-line option.
'require-verification =' 0 or 1 (default 0), same as command-line option.
'tkfontscale =' _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends.
'update-exclude =' _comma-separated list of packages_ (no spaces allowed). Same as the command line option '--exclude' for the 'update' action.
'verify-downloads =' 0 or 1 (default 1), same as command-line option.
The system-wide config file can contain one additional key:
'allowed-actions =' _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of 'tlmgr' actions which are allowed to be executed when 'tlmgr' is invoked in system mode (that is, without '--usermode'). This allows distributors to include 'tlmgr' in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn't make sense to set this.
Finally, the 'no-checksums' key needs more explanation. By default,
package checksums computed and stored on the server (in the TLPDB) are
compared to checksums computed locally after downloading.
'no-checksums' disables this process. The checksum algorithm is
SHA-512. Your system must have one of (looked for in this order) the
Perl 'Digest::SHA' module, the 'openssl' program
(<https://openssl.org>), the 'sha512sum' program (from GNU Coreutils,
<https://www.gnu.org/software/coreutils>), or finally the 'shasum'
program (just to support old Macs). If none of these are available, a
warning is issued and 'tlmgr' proceeds without checking checksums.
'no-checksums' avoids the warning. (Incidentally, other SHA
implementations, such as the pure Perl and pure Lua modules, are much
too slow to be usable in our context.)