from calculate.variables.datavars import Variable, Namespace, Dependence, \
    StringType, BooleanType, HashType, ListType, Calculate, Copy
from calculate.vars.main.os.func import get_arch_gentoo
from calculate.vars.install.os.func import *

with Namespace("arch"):
    Variable("machine", type=StringType,
        source=Calculate(lambda x: x.value, "main.os.arch.machine"))
    Variable("gentoo", type=StringType,
        source=Calculate(get_arch_gentoo, ".machine"))

with Namespace("audio"):
    Variable("available", type=ListType,
        source=Calculate(get_available_audio_system))
    Variable("selected", type=StringType, 
        source=Calculate(get_audio_selected, ".available", "main.cl.cmdline.calculate.audio"))
