summaryrefslogtreecommitdiff
path: root/modules/apps/kitty.nix
blob: 03f981adff328a10a48ff40a677e4db55f77138b (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
{
  config,
  lib,
  ...
}: let
  inherit (lib) mkIf;
  cfg = config.apps;
in {
  config = mkIf cfg.kitty {
    default.terminal = lib.mkDefault "kitty";

    home-manager.users.${config.user} = {
      programs.kitty = {
        enable = true;
        environment = {};
        extraConfig = "";

        settings = {
          # Font
          font_family = config.theme.font.monospace;
          font_size = 11;
          bold_font = "auto";
          italic_font = "auto";
          bold_italic_font = "auto";

          # Scrollback
          scrollback_lines = 10000;
          scrollback_pager_history_size = 300; # MB

          # Urls
          detect_urls = true;
          show_hyperlink_targets = false;

          # Window
          window_padding_width = config.theme.outerGap;
          window_border_width = 0;
          draw_minimal_borders = true;
          background_opacity = config.theme.opacity;

          # Disable audio
          enable_audio_bell = false;

          # Disable close prompt
          confirm_os_window_close = 0;

          # selection
          selection_background = "#${config.theme.colors.surface}";
          selection_foreground = "none";

          # cursor
          url_color = "#${config.theme.colors.bright.yellow}";
          cursor = "#${config.theme.colors.text}";

          # colors
          background = "#${config.theme.colors.base}";
          foreground = "#${config.theme.colors.text}";

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

          # bright
          color8 = "#${config.theme.colors.bright.black}";
          color9 = "#${config.theme.colors.bright.red}";
          color10 = "#${config.theme.colors.bright.green}";
          color11 = "#${config.theme.colors.bright.yellow}";
          color12 = "#${config.theme.colors.bright.blue}";
          color13 = "#${config.theme.colors.bright.magenta}";
          color14 = "#${config.theme.colors.bright.cyan}";
          color15 = "#${config.theme.colors.bright.white}";
        };
      };
    };
  };
}