Configuration file

arara provides a persistent model of modifying the underlying execution behaviour or enhancing the execution workflow through the concept of a configuration file. This chapter provides the basic structure of that file, as well as details on the file lookup in the operating system.

Please note that a configuration file is not required for arara to work. If you do not specify one, arara will use the default values as detailed below. If you specify a configuration file, it will overwrite the defaults with the options given. Parts that have not been overwritten (omitted from the configuration file) will follow the default values.

File lookup

Our tool looks for the presence of at least one of four very specific files before execution. These files are presented as follows. Observe that the directories must have the correct permissions for proper lookup and access. The lookup order is also presented: .araraconfig.yaml araraconfig.yaml .arararc.yaml arararc.yaml.

arara provides two approaches regarding the location of a configuration file. They dictate how the execution should behave and happen from a user perspective, and are described as follows.

Beware of empty configuration files
A configuration file should never be empty, otherwise arara will complain about it. Make sure to populate it with at least one key, or do not write a configuration file at all. The available keys are described later on.

If the logging feature is properly enabled, arara will indicate in the corresponding arara.log file whether a configuration file was used during the execution and, if so, the corresponding canonical, absolute path. Logging is detailed later on, in Logging.

Basic structure

The following list describes the basic structure of an arara configuration file by presenting the proper elements (or keys, if we consider the proper YAML nomenclature). Observe that elements marked as [M] are mandatory (i.e, the configuration file has to have them in order to work). Similarly, elements marked as [O] are optional, so you can safely ignore them when writing a configuration file for our tool.

Avoid folded and literal styles for scalars in a path
Do not use folded or literal styles for scalars in a path! The orb tag resolution for a path in plain string should be kept as simple as possible, so always use the inline style.

Since arara allows four different names for configuration files, as well as global and local approaches, it is highly advisable to run our tool with the --log command line option enabled, in order to easily identify which file was considered for that specific execution. The logging feature is discussed later on, in Logging.