aboutsummaryrefslogtreecommitdiff
path: root/snowfall/modules/home/apps/kitty/default.nix
blob: dd64af6870bc437b3d453c1cd8abbc2b825e0408 (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
72
73
74
75
76
77
78
79
80
81
82
83
84
{ options, config, lib, namespace, ... }:

with lib; with lib.${namespace}; let
  cfg = config.${namespace}.apps.kitty;
  desktop = config.${namespace}.desktop;
in {
  options.${namespace}.apps.kitty = with types; {
    enable = mkEnableOption "kitty";
  };

  config = mkIf cfg.enable {
    programs.kitty = {
      enable = true;
      
      font = { name = "monospace"; size = 8.0; };

      settings = let c = desktop.theme.colors; in {
        foreground = "#${c.fg}";
        background = "#000000";

        color0  = "#${c.black}";
        color1  = "#${c.red}";
        color2  = "#${c.green}";
        color3  = "#${c.yellow}";
        color4  = "#${c.blue}";
        color5  = "#${c.magenta}";
        color6  = "#${c.cyan}";
        color7  = "#${c.white}";

        color8  = "#${c.brightBlack}";
        color9  = "#${c.brightRed}";
        color10 = "#${c.brightGreen}";
        color11 = "#${c.brightYellow}";
        color12 = "#${c.brightBlue}";
        color13 = "#${c.brightMagenta}";
        color14 = "#${c.brightCyan}";
        color15 = "#${c.brightWhite}";


        color124 = "#${c.brightRed}";
        color106 = "#${c.brightGreen}";
        color172 = "#${c.brightYellow}";
        color66  = "#${c.brightBlue}";
        color132 = "#${c.brightMagenta}";
        color72  = "#${c.brightCyan}";

        color167 = "#${c.red}";
        color142 = "#${c.green}";
        color214 = "#${c.yellow}";
        color109 = "#${c.blue}";
        color175 = "#${c.magenta}";
        color108 = "#${c.cyan}";

        color234 = "#${c.bg0}";
        color237 = "#${c.bg1}";
        color239 = "#${c.bg2}";
        color241 = "#${c.bg3}";
        color243 = "#${c.bg4}";
        color245 = "#${c.white}";

        color246 = "#${c.fg4}";
        color248 = "#${c.fg3}";
        color250 = "#${c.fg2}";
        color223 = "#${c.fg1}";
        color229 = "#${c.fg0}";

        color166 = "#${c.orange}";
        color208 = "#${c.brightOrange}";

        color231 = "#${c.accent}";
      };

      shellIntegration = {
        mode = "no-cursor";
        enableBashIntegration = true;
      };

      extraConfig = ''
        background_opacity 0.8
        confirm_os_window_close 0
      '';
    };
  };
}