def METHOD_NAME(projroot: Path, src: Path, dst: Path) -> None:
    """Install a config."""
    print(f'Creating tool config: {Clr.BLD}{dst}{Clr.RST}')
    # Special case: if we've got a src .yaml and a dst .json, convert.
    # This can be handy to add annotations/etc. in the src which isn't
    # possible with json.
    if src.suffix == '.yaml' and dst.suffix == '.json':
        import yaml
        import json
        with src.open(encoding='utf-8') as infile:
            contents = yaml.safe_load(infile.read())
        cfg = json.dumps(contents, indent=2, sort_keys=True)
    # In normal cases we just push the source file straight through.
    else:
        with src.open(encoding='utf-8') as infile:
            cfg = infile.read()
    # Some substitutions, etc.
    cfg = _filter_tool_config(projroot, cfg)
    # Add an auto-generated notice.
    comment = None
    if dst.name in ['.dir-locals.el']:
        comment = ';;'
    elif dst.name in [
        '.mypy.ini',
        '.pycheckers',
        '.pylintrc',
        '.style.yapf',
        '.clang-format',
        '.editorconfig',
    ]:
        comment = '#'
    if comment is not None:
        cfg = (
            f'{comment} THIS FILE WAS AUTOGENERATED; DO NOT EDIT.\n'
            f'{comment} Source: {src}.\n\n' + cfg
        )
    with dst.open('w', encoding='utf-8') as outfile:
        outfile.write(cfg)