main
 1{lib, ...}: {
 2  den.aspects.desktop.style.icon = {
 3    settings = {
 4      name = lib.mkOption {
 5        type = lib.types.str;
 6        default = "WhiteSur";
 7      };
 8      package = lib.mkOption {
 9        type = lib.types.functionTo lib.types.package;
10        default = pkgs:
11          pkgs.whitesur-icon-theme.override {
12            boldPanelIcons = true;
13            alternativeIcons = true;
14          };
15      };
16    };
17
18    homeManager = {
19      host,
20      pkgs,
21      ...
22    }: let
23      cfg = host.settings.desktop.style.icon;
24    in {
25      gtk = {
26        iconTheme = {
27          inherit (cfg) name;
28          package = cfg.package pkgs;
29        };
30      };
31    };
32  };
33}