@staticmethod
def vars_fixed_point(config):
    """ substitute variables in paths """
    keys = config.keys()
    something_changed = True
    while something_changed:
        something_changed = False
        for i in keys:
            for j in keys:
                if j == i:
                    continue
                replaced = config[i].replace('$' + j, config[j])
                if replaced != config[i]:
                    something_changed = True
                    config[i] = replaced
