dotfiles

My PC Dotfiles & Website

modules/gui/fonts.nix (1528B)


 1## Font Configuration ##
 2_: {
 3  flake.modules.nixos.fonts = {
 4    config,
 5    pkgs,
 6    ...
 7  }: {
 8    fonts = {
 9      enableDefaultPackages = true;
10      fontDir.enable = true;
11
12      ## Render Settings
13      fontconfig = {
14        enable = true;
15        hinting = {
16          enable = true;
17          autohint = false;
18          style = "slight";
19        };
20        subpixel = {
21          rgba = "rgb";
22          lcdfilter = "default";
23        };
24
25        # Emoji Support
26        defaultFonts = let
27          emoji = [config.stylix.fonts.emoji.name];
28        in {
29          monospace = emoji;
30          sansSerif = emoji;
31          serif = emoji;
32        };
33      };
34    };
35
36    # Font Sizes
37    stylix.fonts = {
38      sansSerif = {
39        package = pkgs.adwaita-fonts;
40        name = "Adwaita Sans";
41      };
42      serif = {
43        package = pkgs.eb-garamond;
44        name = "EB Garamond";
45      };
46      monospace = {
47        package = pkgs.custom.fonts;
48        name = "Iosvmata";
49      };
50      emoji = {
51        package = pkgs.twitter-color-emoji;
52        name = "Twitter Color Emoji";
53      };
54      sizes = {
55        applications = 11;
56        desktop = 11;
57        popups = 10;
58        terminal = 12;
59      };
60    };
61
62    # Font Packages
63    fonts.packages = with pkgs; [
64      font-awesome
65      nerd-fonts.symbols-only
66      noto-fonts
67      symbola
68      fira
69      fira-code
70      fira-mono
71      ibm-plex
72      roboto
73      roboto-mono
74      roboto-slab
75      source-code-pro
76      ubuntu-classic
77    ];
78  };
79}