def add_dot_notations(d: dict, seperator: str) -> dict:
    """Takes a dictionary as input and concatenates the different keys together
    to access each configuration parameter with a single key.

    :param conf: configuration where the dot notation should be added.
    :param seperator: Seperating character to use for the dot-notation.
    :return: Updated dictionary which includes the dot notations
    """

    # First update all inner dictionaries
    for k in list(d.keys()):
        if isinstance(d[k], dict):
            d[k] = add_dot_notations(d[k], seperator)

    # Then update keys with dot notation
    for k in list(d.keys()):
        if isinstance(d[k], dict):
            for l in list(d[k].keys()):
                d[f"{k}.{l}"] = d[k][l]

    return d