{ config, pkgs, lib, ... }:

{
  options.local.fonts.enable = lib.mkEnableOption "fonts";

  config = lib.mkIf config.local.fonts.enable {
    fonts = {
      enableDefaultPackages = true;
      packages = with pkgs; [
        ubuntu_font_family
        fira-code
        fira-code-symbols
        (nerdfonts.override { fonts = [ "FiraCode" ]; })
        noto-fonts
        noto-fonts-cjk-sans
        noto-fonts-emoji
        liberation_ttf
        mplus-outline-fonts.githubRelease
        dina-font
        proggyfonts
      ];
      fontconfig = {
        defaultFonts = {
          monospace = [
            "Fira Code"
            "emoji"
            "FiraCode Nerd Font Mono"
          ];
          serif = [ "Ubuntu" "emoji" ];
          sansSerif = [ "Ubuntu" "emoji" ];
          emoji = [ "Noto Color Emoji" ];
        };
      };
    };
  };
}