def find_options_in_recipes(recipes, choice_search, action_kw,
    condition_position=0):
    """
    Looks through the master config at recipes and entries to determine if
    there are place the developer made distince choices, this is used in the
    inimake script to walk users through making their own config file from
    scratch.

    This function looks through and finds sections or items that match the
    conditional. Then it looks through the adj_config to determine if any
    sections/items are being removed as a result, then it finds those.
    If a section/item appears in a recipe condition and a removed by
    another trigger it is extremely likely these are choices.

    Args:
        mcfg: Recipes object from master config
        conditional: list of 3 focusing on what were looking for
        action_kw: action keyword is a string of what to look for in matching
                   choices where ever true is used will popoulate with every
                   item/section

    Returns:
        final_choices:

    """
    decisions = {}
    conditional = ['any' for i in range(3)]
    final_choices = []
    pos = condition_position
    for r in recipes:
        choices = []
        for t_name, trigger in r.triggers.items():
            for condition in trigger.conditions:
                if condition[pos] != 'any':
                    for k, v in r.adj_config.items():
                        if action_kw in v.keys():
                            choices.append(condition[pos])
                            for kk, vv in v.items():
                                actions = [k, kk, vv]
                                if kk == action_kw:
                                    choices.append(actions[pos])
        if choices:
            final_choices.append(tuple(set(sorted(choices))))
    return list(set(final_choices))
