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}