This repository has no description
3.3 kB
134 lines
1{ config, lib, pkgs, ... }: let
2
3 alacritty-cfg = extrVals: builtins.toJSON ({
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 # window.opacity = 0;
32 hints.enabled = [
33 {
34 regex = ''(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-\u009F<>"\s{-}\^⟨⟩`]+'';
35 command = "/run/current-system/sw/bin/xdg-open";
36 post_processing = true;
37 mouse.enabled = true;
38 binding = {
39 key = "U";
40 mods = "Alt";
41 };
42 }
43 ];
44 } // extrVals);
45
46 alacritty = pkgs.symlinkJoin {
47 name = "alacritty";
48 paths = [
49 (pkgs.writeDashBin "alacritty" ''
50 # ${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.yaml msg create-window "$@" ||
51 ${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.yaml "$@"
52 '')
53 pkgs.alacritty
54 ];
55 };
56
57in {
58 environment.etc = {
59 "themes/light/alacritty.yaml".text = alacritty-cfg {
60 colors = {
61 # Default colors
62 primary = {
63 # hard contrast: background = '#f9f5d7'
64 # background = "#fbf1c7";
65 background = "#f9f5d7";
66 # soft contrast: background = '#f2e5bc'
67 foreground = "#3c3836";
68 };
69
70 # Normal colors
71 normal = {
72 black = "#fbf1c7";
73 red = "#cc241d";
74 green = "#98971a";
75 yellow = "#d79921";
76 blue = "#458588";
77 magenta = "#b16286";
78 cyan = "#689d6a";
79 white = "#7c6f64";
80 };
81
82 # Bright colors
83 bright = {
84 black = "#928374";
85 red = "#9d0006";
86 green = "#79740e";
87 yellow = "#b57614";
88 blue = "#076678";
89 magenta = "#8f3f71";
90 cyan = "#427b58";
91 white = "#3c3836";
92 };
93 };
94 };
95 "themes/dark/alacritty.yaml".text = alacritty-cfg {
96 colors = {
97 # Default colors
98 primary = {
99 background = "0x000000";
100 foreground = "0xffffff";
101 };
102 cursor = {
103 text = "0xF81CE5";
104 cursor = "0xffffff";
105 };
106
107 # Normal colors
108 normal = {
109 black = "0x000000";
110 red = "0xfe0100";
111 green = "0x33ff00";
112 yellow = "0xfeff00";
113 blue = "0x0066ff";
114 magenta = "0xcc00ff";
115 cyan = "0x00ffff";
116 white = "0xd0d0d0";
117 };
118
119 # Bright colors
120 bright = {
121 black = "0x808080";
122 red = "0xfe0100";
123 green = "0x33ff00";
124 yellow = "0xfeff00";
125 blue = "0x0066ff";
126 magenta = "0xcc00ff";
127 cyan = "0x00ffff";
128 white = "0xFFFFFF";
129 };
130 };
131 };
132 };
133 environment.systemPackages = [ alacritty ];
134}