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