main
 1{
 2  flake.modules.nixos.desktop = {pkgs, ...}: {
 3    fonts = {
 4      enableDefaultPackages = false;
 5      fontDir.enable = true;
 6      packages = with pkgs; [
 7        # Basic
 8        noto-fonts-lgc-plus
 9        noto-fonts-color-emoji
10
11        # CJK
12        source-han-sans
13        source-han-serif
14        lxgw-wenkai
15        smiley-sans
16
17        # Programming
18        nerd-fonts.symbols-only
19        jetbrains-mono
20        fira-code
21        sarasa-gothic
22
23        # Other
24        nur.repos.rewine.ttf-ms-win10 # For better WPS/LibreOffice compatibility with MS Word documents
25        libertine
26        stix-two
27        libertinus
28      ];
29    };
30
31    stylix.fonts = {
32      sizes = {
33        applications = 13;
34        desktop = 13;
35        terminal = 13;
36      };
37      serif = {
38        name = "Source Han Serif SC";
39        package = pkgs.source-han-serif;
40      };
41      sansSerif = {
42        name = "Sarasa Gothic SC";
43        package = pkgs.sarasa-gothic;
44      };
45      monospace = {
46        name = "Maple Mono NF CN";
47        package = pkgs.maple-mono.NF-CN;
48      };
49      emoji = {
50        name = "Noto Color Emoji";
51        package = pkgs.noto-fonts-color-emoji;
52      };
53    };
54  };
55}