How can I apply a default set of keys at the start of each environment ?
\documentclass[a4paper,10pt]{article} \usepackage{xcolor} \usepackage{enumitem} \ExplSyntaxOn \makeatletter \setlistdepth{13} \newlist{wvTlaps}{enumerate}{13} \setlist[wvTlaps] { label=$\langle$\the\enit@depth$\rangle$\arabic*., left=0pt, parsep=0pt, itemindent=8pt, } \makeatother \tl_new:N \tlapis_kl_tl \tl_new:N \tlapis_lv_tl \keys_define:nn { tlapis_keys } %% Define Key-Value Interface within namespace tlapis_keys. { kl .tl_set:N = \tlapis_kl_tl, kl .default:n = {red}, kl .initial:n = {red}, lv .tl_set:N = \tlapis_lv_tl, lv .default:n = {}, lv .initial:n = {}, } \NewDocumentEnvironment {wvTlapis} { O{} } { \keys_set:nn {tlapis_keys} {#1} \tl_if_empty:NTF {\tlapis_lv_tl} { \begin{wvTlaps}[format=\color{\tlapis_kl_tl}] } { \begin{wvTlaps} [format=\color{\tlapis_kl_tl}, label=$\langle$\tlapis_lv_tl$\rangle$\arabic*.] } } { \end{wvTlaps} } \ExplSyntaxOff \begin{document} \begin{wvTlapis} \item First level \begin{wvTlapis}[kl=green] \item Second level \begin{wvTlapis} \item Third level \end{wvTlapis} \end{wvTlapis} \end{wvTlapis} \end{document}