main
 1{lib, ...}: {
 2  den.aspects.desktop.aesthetic.icon = {
 3    settings.host = {
 4      name = lib.mkOption {
 5        type = lib.types.nullOr lib.types.str;
 6        # default = null;
 7        default = "WhiteSur";
 8      };
 9      package = lib.mkOption {
10        type = lib.types.nullOr (lib.types.functionTo lib.types.package);
11        # default = null;
12        default = pkgs:
13          pkgs.whitesur-icon-theme.override {
14            boldPanelIcons = true;
15            alternativeIcons = true;
16          };
17      };
18    };
19
20    provides.to-users.hjem = {
21      host,
22      pkgs,
23      ...
24    }: let
25      cfg = host.settings.desktop.aesthetic.icon;
26    in {
27      packages = lib.optional (cfg.package != null) (cfg.package pkgs);
28    };
29  };
30}