Configuration Reference
Task has multiple ways of being configured. These methods are parsed, in sequence, in the following order with the highest priority last:
- Environment variables
- Configuration files
- Command-line flags
In this document, we will look at the second of the three options, configuration files.
File Precedence
Task's configuration files are named .taskrc.yml
or .taskrc.yaml
. Task will automatically look for directories containing files with these names in the following order with the highest priority first:
- Current directory (or the one specified by the
--taskfile
/--entrypoint
flags). - Each directory walking up the file tree from the current directory (or the one specified by the
--taskfile
/--entrypoint
flags) until we reach the user's home directory or the root directory of that drive. $XDG_CONFIG_HOME/task
.
All config files will be merged together into a unified config, starting with the lowest priority file in $XDG_CONFIG_HOME/task
with each subsequent file overwriting the previous one if values are set.
For example, given the following files:
# lowest priority global config
option_1: foo
option_2: foo
option_3: foo
option_1: bar
option_2: bar
# highest priority project config
option_1: baz
You would end up with the following configuration:
option_1: baz # Taken from $HOME/path/to/project/.taskrc.yml
option_2: bar # Taken from $HOME/.taskrc.yml
option_3: foo # Taken from $XDG_CONFIG_HOME/task/.taskrc.yml
Configuration Options
experiments
The experiments section allows you to enable Task's experimental features. These options are not enumerated here. Instead, please refer to our experiments documentation for more information.