-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfonts.nix
78 lines (70 loc) · 2.17 KB
/
fonts.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{ lib, config, pkgs, ... }:
with lib;
let cfg = config.cookie.fonts;
in {
options.cookie.fonts = {
enable = mkEnableOption "Enables a collection of fonts";
};
config.fonts = mkIf cfg.enable {
enableDefaultPackages = true;
packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
liberation_ttf
hack-font
ubuntu_font_family
corefonts
# google-fonts # this kills doom emacs performance for some reason. Do not use.
proggyfonts
cantarell-fonts
material-design-icons
weather-icons
font-awesome_5 # 6 breaks polybar
emacs-all-the-icons-fonts
source-sans-pro
jetbrains-mono
inter
(linkFarm "shit-shit-fuck" { "share/fonts/truetype" = ../secrets/fonts; })
ttf_bitstream_vera
atkinson-hyperlegible
];
fontconfig = {
defaultFonts = {
monospace = [ "JetBrains Mono" ];
sansSerif = [ "Inter" ];
# serif is ew
};
localConf = ''
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<description>Disable ligatures for all the damn fonts</description>
<match target="font">
<test name="family" compare="eq" ignore-blanks="true">
<string>JetBrains Mono</string>
</test>
<edit name="fontfeatures" mode="append">
<string>liga off</string>
<string>dlig off</string>
<string>calt off</string>
<string>clig off</string>
</edit>
</match>
<!-- I don't think this actually /does/ anything, but oh well, might aswell declare my annoyance with it -->
<match target="font">
<test name="family" compare="eq" ignore-blanks="true">
<string>Inter</string>
</test>
<edit name="fontfeatures" mode="append">
<string>liga off</string>
<string>dlig off</string>
<string>calt off</string>
<string>clig off</string>
</edit>
</match>
</fontconfig>
'';
};
};
}