ansible.cfg
is a configuration file and not inventory, you can't put variables in there.
[all:vars]
is a syntax to define group variables for a group (special group all
in this case) inside inventory file.
If you want to split out variable definition from main inventory file (which is preferred practice, by the way!), you may want to read this chapter: Splitting Out Host and Group Specific Data.
Excerpt:
In addition to storing variables directly in the inventory file, host and group variables can be stored in individual files relative to the inventory file
Assuming the inventory file path is:
/etc/ansible/hosts
If the host is named ‘foosball’, and in groups ‘raleigh’ and ‘webservers’, variables in YAML files at the following locations will be made available to the host:
/etc/ansible/group_vars/raleigh # can optionally end in '.yml', '.yaml', or '.json'
/etc/ansible/group_vars/webservers
/etc/ansible/host_vars/foosball