yep, more dotfiles
1{ self
2, config
3, lib
4, ...
5}:
6
7
8let
9 inherit (self.outputs) homeManagerModules;
10
11 cfg = config.local.fragment.vm;
12in
13{
14 imports = [ homeManagerModules.xcompose ];
15
16 config.programs.xcompose = lib.mkIf cfg.enable {
17 enable = true;
18 includeLocaleCompose = true;
19 loadConfigInEnv = false;
20
21 sequences.Multi_key = {
22 e.grave = "è";
23 E.grave = "È";
24 e.apostrophe = "é";
25 E.apostrophe = "É";
26 a.grave = "à";
27 A.grave = "À";
28 u.grave = "ù";
29 U.grave = "Ù";
30 e.quotedbl = "ë";
31 E.quotedbl = "Ë";
32 a.quotedbl = "ä";
33 A.quotedbl = "Ä";
34
35 quotedbl.quotedbl = "¨";
36 apostrophe.apostrophe = "´";
37
38 s.s = "ß";
39
40 # Lower case [g]reek letters
41 g = {
42 a = "α";
43 b = "β";
44 g = "γ";
45 d = "δ";
46 e = "ε";
47 z = "ζ";
48 h = "η";
49 u = "θ";
50 i = "ι";
51 k = "κ";
52 l = "λ";
53 m = "μ";
54 n = "ν";
55 x = "ξ";
56 q.o = "ο";
57 p = "π";
58 r = "ρ";
59 s = "σ";
60 t = "τ";
61 y = "υ";
62 f = "φ";
63 o = "ω";
64 };
65 # Upper case [G]reek letters
66 G = {
67 A = "Α";
68 B = "Β";
69 G = "Γ";
70 D = "Δ";
71 E = "Ε";
72 Z = "Ζ";
73 H = "Η";
74 U = "Θ";
75 I = "Ι";
76 K = "Κ";
77 L = "Λ";
78 M = "Μ";
79 N = "Ν";
80 X = "Ξ";
81 Q.O = "Ο";
82 P = "Π";
83 R = "Ρ";
84 S = "Σ";
85 T = "Τ";
86 Y = "Υ";
87 F = "Φ";
88 O = "Ω";
89 };
90
91 # Math
92 l.equal = "≤";
93 g.equal = "≥";
94 s.u.m = "∑";
95 asciitilde.asciitilde = "≈";
96
97 # Math double-struck symbols
98 M = {
99 A = "𝔸";
100 B = "𝔹";
101 C = "ℂ";
102 D = "𝔻";
103 E = "𝔼";
104 F = "𝔽";
105 G = "𝔾";
106 H = "ℍ";
107 I = "𝕀";
108 J = "𝕁";
109 K = "𝕂";
110 L = "𝕃";
111 M = "𝕄";
112 N = "ℕ";
113 O = "𝕆";
114 P = "ℙ";
115 Q = "ℚ";
116 R = "ℝ";
117 S = "𝕊";
118 T = "𝕋";
119 U = "𝕌";
120 V = "𝕍";
121 X = "𝕏";
122 Y = "𝕐";
123 Z = "ℤ";
124 };
125
126 # Symbols
127 o.o = "∞";
128
129 minus.greater = "→";
130 less.minus = "←";
131 less.greater.minus = "↔";
132
133 equal.greater = "⇒";
134 less.equal = "⇐";
135 less.greater.equal = "⇔";
136
137 "0"."0" = "°";
138 minus.minus = "—";
139 };
140 };
141}