portmod.conf
The {CONFIG_DIR}/portmod.conf
file is used for configuring Portmod’s global options.
It can be found in the portmod config directory, found in one of the following locations:
Linux |
|
macOS |
|
Windows |
|
All config entries can be overridden using environment variables of the
same name. In the case of USE, ACCEPT_LICENSE and ACCEPT_KEYWORDS, this
will extend the value, rather than override it. E.g. setting the
environment variable USE=foo
will use all use flags in your config
file (and profile) and also set the foo
flag. Similarly,
USE=-foo
will disable foo if it is set in your config file or
profile.
You can also create a prefix-specific version of portmod.conf which will
apply the same options just to one prefix. This can be done by creating or
modifying the portmod.conf
in the subdirectory of the portmod config
directory with the name of the prefix. E.g. ~/.config/portmod/<prefix>/portmod.conf
Format
The portmod config file uses a restricted subset of python with extremely limited support for builtins. No imports are allowed.
Available builtins:
join
: equivalent toos.path.join
and can be used for specifying paths in a platform independant manner.PLATFORM
: equivalent tosys.platform
.
Variables used by Portmod
You may define arbitrary variables, but there are several that are reserved for the use of Portmod and have a special meaning
All variables defined in portmod.conf are set as environment variables during portmod execution.
ACCEPT_KEYWORDS
A string of whitespace separated keywords that indicate stability of
mods that you allow to be installed. By default this is generally the
stable keyword (equal to your arch, e.g. openmw
or tes3mp
without qualifiers).
If you also want to include unstable mods, prefix the keyword with a
~
. E.g. ACCEPT_KEYWORDS = ~openmw
or
ACCEPT_KEYWORDS = ~tes3mp
.
ACCEPT_KEYWORDS can also contain versioned keywords. See Keywords for details.
PORTMOD_MIRRORS
Specifies a list of mirrors to use to fetch source files (mod archives).
Currently the only mirror is the default:
https://gitlab.com/portmod/mirror/raw/master/
ACCEPT_LICENSE
Specifies the globally accepted licenses. By default this is all except
EULA licenses, i.e. a value of * -@EULA
. If you want to only install
mods with Free licenses, you could, for example set this to
ACCEPT_LICENSE = -* @FREE
.
See profiles/license_groups.yaml
in the repo for details on the
available license groups.
TEXTURE_SIZE
Specifies a function for choosing between texture size options. This
must contain an operator min
or max
, followed by an optional
inequality.
min
: Chooses the smallest texture size availablemax
: Chooses the largest texture size availablemin >= NUM
: Chooses the smallest texture size available that is larger than NUM.max <= NUM
: Chooses the largest texture size available that is smaller than NUM.
USE
Sets global use flags. See Use Flags for details.
OMWMERGE_DEFAULT_OPTS
The default options passed to portmod <prefix> merge
(e.g flags such
as --verbose
, --no-confirm
, etc.). Will be ignored if
--ignore-default-opts
is passed.
REPOS
The list of repositories (as a whitespace-separated string) which are enabled for this prefix. Only packages from these repositories will be found when installing or searching for packages.
MERGE_TOOL
A command to be used to merge updates to configuration files.
The placeholders ${orig}
, ${new}
and ${merged}
should be used
to specify the input files.
E.g.
MERGE_TOOL = "kdiff3 ${orig} ${new} --output ${merged}"
Version
Added in portmod 2.3
Use Expand Variables
Use expand variables represent categories of global use flags for enabling features across all packages that support them.
They can be enabled similarly to USE flags, but use a custom field. E.g. for L10N flags, you can set
L10N = "ru"
Which will enable the flag l10n_ru
globally, building support for
Russian localization into packages.
Note that supported use expand flags vary depending on your profile and architecture.