alacritty.nix 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. { pkgs, ... }:
  2. {
  3. programs.alacritty = {
  4. enable = true;
  5. settings = {
  6. env = {
  7. LC_ALL = "en_US.UTF-8";
  8. LC_CTYPE = "en_US.UTF-8";
  9. TERM = "xterm-256color";
  10. };
  11. font = {
  12. normal = {
  13. family = "FiraCode Nerd Font";
  14. style = "Regular";
  15. };
  16. bold = {
  17. family = "FiraCode Nerd Font";
  18. style = "Bold";
  19. };
  20. italic = {
  21. family = "FiraCode Nerd Font";
  22. style = "Italic";
  23. };
  24. bold_italic = {
  25. family = "FiraCode Nerd Font";
  26. style = "Bold Italic";
  27. };
  28. size = 11.0;
  29. };
  30. colors = {
  31. primary = {
  32. background = "#303446";
  33. foreground = "#c6d0f5";
  34. dim_foreground = "#838ba7";
  35. bright_foreground = "#c6d0f5";
  36. };
  37. cursor = {
  38. text = "#303446";
  39. cursor = "#f2d5cf";
  40. };
  41. vi_mode_cursor = {
  42. text = "#303446";
  43. cursor = "#babbf1";
  44. };
  45. search.matches = {
  46. foreground = "#303446";
  47. background = "#a5adce";
  48. };
  49. search.focused_match = {
  50. foreground = "#303446";
  51. background = "#a6d189";
  52. };
  53. footer_bar = {
  54. foreground = "#303446";
  55. background = "#a5adce";
  56. };
  57. hints.start = {
  58. foreground = "#303446";
  59. background = "#e5c890";
  60. };
  61. hints.end = {
  62. foreground = "#303446";
  63. background = "#a5adce";
  64. };
  65. selection = {
  66. text = "#303446";
  67. background = "#f2d5cf";
  68. };
  69. normal = {
  70. black = "#51576d";
  71. red = "#e78284";
  72. green = "#a6d189";
  73. yellow = "#e5c890";
  74. blue = "#8caaee";
  75. magenta = "#f4b8e4";
  76. cyan = "#81c8be";
  77. white = "#b5bfe2";
  78. };
  79. bright = {
  80. black = "#626880";
  81. red = "#e78284";
  82. green = "#a6d189";
  83. yellow = "#e5c890";
  84. blue = "#8caaee";
  85. magenta = "#f4b8e4";
  86. cyan = "#81c8be";
  87. white = "#a5adce";
  88. };
  89. # indexed_colors = {
  90. # index = 16;
  91. # color = "#ef9f76";
  92. # };
  93. #
  94. # indexed_colors = {
  95. # index = 17;
  96. # color = "#f2d5cf";
  97. # };
  98. };
  99. bell = {
  100. animation = "EaseOutExpo";
  101. duration = 400;
  102. color = "#ffffff";
  103. };
  104. window = {
  105. padding = {
  106. x = 12;
  107. y = 12;
  108. };
  109. opacity = 0.8;
  110. };
  111. terminal.shell = {
  112. program = "${pkgs.fish}/bin/fish";
  113. args = [ "--login" ];
  114. };
  115. keyboard.bindings = [
  116. {
  117. key = "Space";
  118. mods = "Shift";
  119. mode = "~Search";
  120. action = "ToggleViMode";
  121. }
  122. # TODO: figure out why I set these
  123. # { key = "Up"; mods = "Alt"; chars = "\x1b[1;5A"; }
  124. # { key = "Down"; mods = "Alt"; chars = "\x1b[1;5B"; }
  125. # { key = "Left"; mods = "Alt"; chars = "\x1bb"; }
  126. # { key = "Right"; mods = "Alt"; chars = "\x1bf"; }
  127. # { key = "A"; mods = "Alt"; chars = "\x1ba"; }
  128. # { key = "B"; mods = "Alt"; chars = "\x1bb"; }
  129. # { key = "C"; mods = "Alt"; chars = "\x1bc"; }
  130. # { key = "D"; mods = "Alt"; chars = "\x1bd"; }
  131. # { key = "E"; mods = "Alt"; chars = "\x1be"; }
  132. # { key = "F"; mods = "Alt"; chars = "\x1bf"; }
  133. # { key = "G"; mods = "Alt"; chars = "\x1bg"; }
  134. # { key = "H"; mods = "Alt"; chars = "\x1bh"; }
  135. # { key = "I"; mods = "Alt"; chars = "\x1bi"; }
  136. # { key = "J"; mods = "Alt"; chars = "\x1bj"; }
  137. # { key = "K"; mods = "Alt"; chars = "\x1bk"; }
  138. # { key = "L"; mods = "Alt"; chars = "\x1bl"; }
  139. # { key = "M"; mods = "Alt"; chars = "\x1bm"; }
  140. # { key = "N"; mods = "Alt"; chars = "\x1bn"; }
  141. # { key = "O"; mods = "Alt"; chars = "\x1bo"; }
  142. # { key = "P"; mods = "Alt"; chars = "\x1bp"; }
  143. # { key = "Q"; mods = "Alt"; chars = "\x1bq"; }
  144. # { key = "R"; mods = "Alt"; chars = "\x1br"; }
  145. # { key = "S"; mods = "Alt"; chars = "\x1bs"; }
  146. # { key = "T"; mods = "Alt"; chars = "\x1bt"; }
  147. # { key = "U"; mods = "Alt"; chars = "\x1bu"; }
  148. # { key = "V"; mods = "Alt"; chars = "\x1bv"; }
  149. # { key = "W"; mods = "Alt"; chars = "\x1bw"; }
  150. # { key = "X"; mods = "Alt"; chars = "\x1bx"; }
  151. # { key = "Y"; mods = "Alt"; chars = "\x1by"; }
  152. # { key = "Z"; mods = "Alt"; chars = "\x1bz"; }
  153. # { key = "Key0"; mods = "Alt"; chars = "º"; }
  154. # { key = "Key1"; mods = "Alt"; chars = "¡"; }
  155. # { key = "Key2"; mods = "Alt"; chars = "€"; }
  156. # { key = "Key3"; mods = "Alt"; chars = "#"; }
  157. # { key = "Key4"; mods = "Alt"; chars = "¢"; }
  158. # { key = "Key5"; mods = "Alt"; chars = "∞"; }
  159. # { key = "Key6"; mods = "Alt"; chars = "§"; }
  160. # { key = "Key7"; mods = "Alt"; chars = "¶"; }
  161. # { key = "Key8"; mods = "Alt"; chars = "•"; }
  162. # { key = "Key9"; mods = "Alt"; chars = "ª"; }
  163. ];
  164. };
  165. };
  166. }