This repository has no description
3.5 kB
142 lines
1{ pkgs, ... }:
2let
3
4 alacritty-cfg =
5 extrVals:
6 pkgs.writers.writeTOML "alacritty.toml" (
7 {
8 font =
9 let
10 family = "IosevkaTerm Nerd Font";
11 in
12 {
13 normal = {
14 family = family;
15 style = "Regular";
16 };
17 bold = {
18 family = family;
19 style = "Bold";
20 };
21 italic = {
22 family = family;
23 style = "Italic";
24 };
25 bold_italic = {
26 family = family;
27 style = "Bold Italic";
28 };
29 size = 12;
30 };
31 live_config_reload = true;
32 window.dimensions = {
33 columns = 80;
34 lines = 20;
35 };
36 env.WINIT_X11_SCALE_FACTOR = "1.0";
37 hints.enabled = [
38 {
39 regex = ''(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-\u009F<>"\s{-}\^⟨⟩`]+'';
40 command = "/run/current-system/sw/bin/xdg-open";
41 post_processing = true;
42 mouse.enabled = true;
43 binding = {
44 key = "U";
45 mods = "Alt";
46 };
47 }
48 ];
49 }
50 // extrVals
51 );
52
53 alacritty = pkgs.symlinkJoin {
54 name = "alacritty";
55 paths = [
56 (pkgs.writeDashBin "alacritty" ''
57 # ${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.toml msg create-window "$@" ||
58 ${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.toml "$@"
59 '')
60 pkgs.alacritty
61 ];
62 };
63
64in
65{
66 environment.etc = {
67 "themes/light/alacritty.toml".source = alacritty-cfg {
68 colors = {
69 # Default colors
70 primary = {
71 # hard contrast: background = '#f9f5d7'
72 # background = "#fbf1c7";
73 background = "#f9f5d7";
74 # soft contrast: background = '#f2e5bc'
75 foreground = "#3c3836";
76 };
77
78 # Normal colors
79 normal = {
80 black = "#fbf1c7";
81 red = "#cc241d";
82 green = "#98971a";
83 yellow = "#d79921";
84 blue = "#458588";
85 magenta = "#b16286";
86 cyan = "#689d6a";
87 white = "#7c6f64";
88 };
89
90 # Bright colors
91 bright = {
92 black = "#928374";
93 red = "#9d0006";
94 green = "#79740e";
95 yellow = "#b57614";
96 blue = "#076678";
97 magenta = "#8f3f71";
98 cyan = "#427b58";
99 white = "#3c3836";
100 };
101 };
102 };
103 "themes/dark/alacritty.toml".source = alacritty-cfg {
104 colors = {
105 # Default colors
106 primary = {
107 background = "#000000";
108 foreground = "#ffffff";
109 };
110 cursor = {
111 text = "#F81CE5";
112 cursor = "#ffffff";
113 };
114
115 # Normal colors
116 normal = {
117 black = "#000000";
118 red = "#fe0100";
119 green = "#33ff00";
120 yellow = "#feff00";
121 blue = "#0066ff";
122 magenta = "#cc00ff";
123 cyan = "#00ffff";
124 white = "#d0d0d0";
125 };
126
127 # Bright colors
128 bright = {
129 black = "#808080";
130 red = "#fe0100";
131 green = "#33ff00";
132 yellow = "#feff00";
133 blue = "#0066ff";
134 magenta = "#cc00ff";
135 cyan = "#00ffff";
136 white = "#FFFFFF";
137 };
138 };
139 };
140 };
141 environment.systemPackages = [ alacritty ];
142}