aboutsummaryrefslogtreecommitdiffstats
path: root/modules/fonts/default.nix
blob: 352bc876ad220a703412f9b107add6a8eb56c2c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Font configuration
{
  lib,
  config,
  pkgs,
  ...
}:
{
  options.fonts = {
    normal = lib.mkOption {
      type = lib.types.str;
      description = "Default normal font name.";
    };

    bold = lib.mkOption {
      type = lib.types.str;
      description = "Default bold font name.";
      default = config.fonts.normal;
    };

    italic = lib.mkOption {
      type = lib.types.str;
      description = "Default italic font name.";
      default = config.fonts.normal;
    };

    size = lib.mkOption {
      type = lib.types.int;
      description = "Default font size.";
      default = 18;
    };

    uiSize = lib.mkOption {
      type = lib.types.int;
      description = "Default desktop UI (GTK) font size.";
      default = 11;
    };

    iconSize = lib.mkOption {
      type = lib.types.int;
      description = "Font size for icons (base size + 6).";
      default = 24;
    };

    labelSize = lib.mkOption {
      type = lib.types.int;
      description = "Font size for labels (base size - 2).";
      default = 16;
    };

    smallSize = lib.mkOption {
      type = lib.types.int;
      description = "Font size for small text (base size - 6).";
      default = 12;
    };

    idxSize = lib.mkOption {
      type = lib.types.int;
      description = "Font size for index numbers (base size - 4).";
      default = 14;
    };
  };

  config = {
    fonts.normal = lib.mkDefault "Fira Code Nerd Font";

    home.packages = with pkgs; [
      nerd-fonts.fira-code
    ];
  };
}