\startenvironment[CV]

%% Fonts and other general things
\usetypescriptfile[type-roboto]

%% Layout
\setuppapersize[A4]
\setuplayout[height=fit,topspace=.2cm]

%% General settings
\setupbodyfont[roboto,sans]
\setuppagenumbering[state=stop]

%% Heading settings

%% The "middle" alternative adds a lot of spacing around the title,
%% which can't be changed. We hack around this by removing the header.
\setuphead[title][
    style=\tfc\bf,
    alternative=middle,
    header=high,
    before=\startpacked,
    after=\stoppacked
]
\setuphead[subject][
    style=\tfb\bf,
    color=darkgreen,
]

%% Blocks
\definedescription[timeentry][
    width=broad,
    distance=.5em,
    alternative=hanging,
    before=\startpacked,
    after=\stoppacked
]
\definedescription[proglang][
    width=fit,
    sample=JS/TS,
    headstyle=\tf,
    text={\hbox to1em {--}},
    before=\startpacked,
    after=\stoppacked
]
\setupitemize[
    option={packed,joinedup,nowhite},
    width=1em,
    distance=0pt
]

%% Enable hyperlinks
\setupinteraction[state=start,color=lightblue]

\stopenvironment