% arara: pdflatex
% arara: bib2gls
% arara: pdflatex
\documentclass[a4paper]{article}

\usepackage[T1]{fontenc}

\usepackage{multicol}
\usepackage{etoolbox}
\usepackage{marvosym}

% package conflict, need to undefine conflicting commands
\undef\Sun
\undef\Lightning

\usepackage[weather]{ifsym}
\usepackage{xcolor}

\usepackage[record,% using bib2gls
 nostyles,% don't load default styles
 postdot,% append a dot after descriptions
 stylemods={tree,topic},% load glossary-tree.sty and glossary-topics.sty
 style=topic]{glossaries-extra}

\GlsXtrLoadResources[
  src={textsymbols-topics,textsymbols},
  name-case-change={title},
% make @icon behave like @symbol:
  entry-type-aliases={icon=symbol},
  field-aliases={
   identifier=category,
   icon=name,
   icondescription=description
  },
  replicate-fields={category=parent},
  symbol-sort-fallback={description},
  set-widest,
  selection=all
]

\newcommand*{\informationfont}[1]{\textcolor{teal}{#1}}
\newcommand*{\controlfont}[1]{\textcolor{brown}{#1}}
\newcommand*{\weatherfont}[1]{\textcolor{violet}{#1}}

\glssetcategoryattribute{information}{glossnamefont}{informationfont}
\glssetcategoryattribute{control}{glossnamefont}{controlfont}
\glssetcategoryattribute{weather}{glossnamefont}{weatherfont}

\begin{document}
\renewcommand{\glossarypreamble}{\begin{multicols}{2}}
\renewcommand{\glossarypostamble}{\end{multicols}}
\printunsrtglossaries
\end{document}

