about summary refs log tree commit diff
path: root/users/glittershark/system/home/modules/alacritty.nix
blob: 1633fb1e63a00356fa78279d7b0a9edabb313e19 (plain) (blame)
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
{ config, lib, pkgs, ... }:

let

  # TODO(grfn): Find a way to extract this to third_party without too much
  # effort
  alacrittyNixpkgs = import (pkgs.fetchFromGitHub {
    owner = "NixOS";
    repo = "nixpkgs";
    rev = "cd9286194a5597e28b8bfb747418dd6af1567eb3";
    sha256 = "0rwhq7cy4xy25gg2in6vah55psdizz7r187zy7z4c2a7pj2hs7ak";
  }) {};

in

{
  programs.alacritty = {
    enable = true;
    package = alacrittyNixpkgs.alacritty;
    settings = {
      font.size = 6;
      font.normal.family = "Meslo LGSDZ Nerd Font";

      draw_bold_text_with_bright_colors = false;

      key_bindings = [
        {
          key = "Escape";
          mods = "Control";
          action = "ToggleViMode";
        }
      ];

      colors = with import ../common/solarized.nix; rec {
        # Default colors
        primary = {
          background = base3;
          foreground = base00;
        };

        cursor = {
          text = base3;
          cursor = base00;
        };

        # Normal colors
        normal = {
          inherit red green yellow blue magenta cyan;
          black = base02;
          white = base2;
        };

        # Bright colors
        # bright = normal;
        bright = {
          black = base03;
          red = orange;
          green = base01;
          yellow = base00;
          blue = base0;
          magenta = violet;
          cyan = base1;
          white = base3;
        };

        vi_mode_cursor.cursor = red;
      };
    };
  };
}