summaryrefslogtreecommitdiff
path: root/modules/user/aesthetics/targets/foot.nix
blob: c6c228334c898f02a245006d30e9197aa9b81075 (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
{ config, lib, ... }: let
  cfg = config.aesthetics.targets.foot;
  aes = config.aesthetics;
in {
  options.aesthetics.targets.foot.enable = lib.mkOption {
    type = lib.types.bool;
    default = (aes.enableAllTargets && aes.hasGui);
    description = "Whether to enable the aesthetics foot target.";
  };
  config = lib.mkIf (cfg.enable && config.programs.foot.enable) {
    programs.foot.settings = {
      main.font = "${aes.font.name}:size=${aes.font.size.small}";
      tweak.font-monospace-warn = false;
      colors = with aes.scheme; {
        background = base00;
        foreground = base05;

        # normal
        regular0 = base00;
        regular1 = base08;
        regular2 = base0B;
        regular3 = base0A;
        regular4 = base0D;
        regular5 = base0E;
        regular6 = base0C;
        regular7 = base05;

        # bright
        bright0 = base03;
        bright1 = base09;
        bright2 = base01;
        bright3 = base02;
        bright4 = base04;
        bright5 = base06;
        bright6 = base0F;
        bright7 = base07;

        # extended
        "16" = base09;
        "17" = base0F;
        "18" = base01;
        "19" = base02;
        "20" = base04;
        "21" = base06;

        # misc
        selection-background = base05;
        selection-foreground = base00;
        urls = base04;
        jump-labels = "${base00} ${base0A}";
        scrollback-indicator = "${base00} ${base04}";
      };
    };
  };
}