\usepackage{enumitem}
% LaTeX's built-in enumerate/itemize stop at 4 levels ("Too deeply nested").
% Redefine them via enumitem to allow 9. \renewlist discards all prior
% settings, so the \setlist lines must follow it; it also discards the
% built-in itemize markers, hence the explicit per-level labels below.
\setlistdepth{9}
\renewlist{enumerate}{enumerate}{9}
\renewlist{itemize}{itemize}{9}
\setlist{topsep=0pt, partopsep=0pt, parsep=2pt, itemsep=0pt}
\setlist[enumerate]{label*=\arabic*.}
\setlist[itemize,1]{label=\textbullet}
\setlist[itemize,2]{label=\normalfont\bfseries\textendash}
\setlist[itemize,3]{label=\textasteriskcentered}
\setlist[itemize,4]{label=\textperiodcentered}
\setlist[itemize,5]{label=\textbullet}
\setlist[itemize,6]{label=\normalfont\bfseries\textendash}
\setlist[itemize,7]{label=\textasteriskcentered}
\setlist[itemize,8]{label=\textperiodcentered}
\setlist[itemize,9]{label=\textbullet}
