anchor.diff:          {
             assertion = cfg.style != null && any (name: name == cfg.style.name) styles;
             message = "`qt5.style.name` is not one of [ ${toString styles} ].";
  +        }
  +        {
  +          assertion = cfg.font == null && cfg.iconTheme == null;
  +          message = "`qt5.font` and `qt5.iconTheme` are only supported by kde platform.";
           }
         ];
         environment.variables.QT_QPA_PLATFORMTHEME = "gtk2";
  
positive.code:         </varlistentry>
        '';
  
        environment.variables.QT_QPA_PLATFORMTHEME = "qgnomeplatform";
        # TODO: make this optional once https://github.com/NixOS/nixpkgs/issues/54150 is fixed
        # qgnomeplatform reads theme and other settings from dconf db
        environment.variables.QT_STYLE_OVERRIDE = cfg.style.name;
        environment.variables.XDG_DATA_DIRS = [ "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" ];
        environment.systemPackages = [ pkgs.qgnomeplatform ];
      };
    };
  in
  
negative.code:         '';
        };
  
        font = mkOption {
          type = types.nullOr fontType;
          default = null;
          example = literalExample ''
            {
              name = "Noto Sans,10,-1,5,50,0,0,0,0,0,Regular";
              package = pkgs.noto-fonts;
            }
          '';
          description = ''
            The font to use in Qt applications.
          '';
        };
  
        iconTheme = mkOption {
          type = types.nullOr themeType;
          default = null;
          example = literalExample ''
            {
              name = "breeze";
              package = pkgs.breeze-icons;
            }
          '';
          description = "The icon theme to use.";
        };
  
        style = mkOption {
          type = types.nullOr themeType;
          default = null;
  