ckmamerc
— config
file for ckmame, dumpgame, and mkmamedb
The ckmamerc
config file sets global or
local configuration for running
ckmame(1),
dumpgame(1), and
mkmamedb(1).
By default, the configuration is read from ~/.config/ckmame/ckmamerc and .ckmamerc in the current directory if they exist, in this order.
Many settings can also be specified on the command line.
Later settings override earlier ones.
The config file is in TOML format and consists of three types of sections. A section header consists of the name of the section enclosed in square brackets on its own line.
--set
command line option).Most command line options can be used as configuration variables in the config file. Take the name of the long option and use it without the leading dashes. For boolean settings and those with a value, use the
variable = value
--complete-games-only
will be written in the config
file as
complete-games-only =
true
Options that exist as --foo
and
--no-foo
are mapped to a single configuration value
with values “true” and “false”.
For full documentation of config file options with corresponding command line options, see the manual page of the command.
Options can use the string “$set” which will be replaced by the set name when used.
The following options are supported by all tools:
The following options are supported only by ckmame(1) and mkmamedb(1):
--directory-cache
) and
ckmame(1)'s
.ckmame.db files for extra-directories (but not
for the roms, saved, and
unknown directories).The following options are supported only by ckmame(1):
--copy-from-extra
on the command line.The following variables are only supported by ckstatus(1):
--all-sets
. Defaults to “true”.The following variables are only supported by mkmamedb(1):
While TOML is a relatively simple and readable format, it has some unexpected details:
Any key that contains characters other than letters, digits, “-”, and “_” must be quoted using double quotes.
Nested tables can be written in two forms:
Inline using “{” and “}”. However, the complete inline table must be on one line (unlike inline arrays, which can span multiple lines). See “extra-directories-append” in “Big Set” in EXAMPLES below.
As sections with a “.” separating the outer and inner names:
["outer table
name"."inner table name"]
[global] verbose = true extra-directories = [ "incoming" ] sets = [ "Set using standard settings only" ] [profile.incomplete] complete-only = true report-missing = false ["Big Set"] verbose = false rom-directory = "Big Set ROMs" extra-directories-append = { "another-location" = { move-from-extra = true } } rom-db = "Big Set.db" profiles = [ "incomplete" ] ["Unzipped Set"] roms-unzipped = true rom-directory = "Unzipped Set ROMs" rom-db = "Unzipped Set.db" ["Unzipped Set".extra-directories] "unzipped-incoming" = { use-central-cache-directory = true }
This configuration would by default report verbosely, but override this for the "Big Set" set. It would also set the rom directories and database files for both the "Big Set" and the "Unzipped Set" and not use ZIP archives for the latter.
Example run:
ckmame --set Big Set
ckmame
was written by
Dieter Baron
<dillo@nih.at> and
Thomas Klausner
<wiz@gatalith.at>.