119 lines
3.3 KiB
Nix
119 lines
3.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
fonts = {
|
|
fontconfig = {
|
|
enable = true;
|
|
defaultFonts = {
|
|
sansSerif = [ "Inter" ];
|
|
|
|
# Not really compatible with inter but i'm used to it
|
|
monospace = [ "Fira Code" ];
|
|
serif = [ "DejaVu Serif" ];
|
|
|
|
emoji = [
|
|
"Noto Color Emoji"
|
|
"Noto Emoji"
|
|
];
|
|
};
|
|
localConf = ''
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
|
<fontconfig>
|
|
<!-- For some reason websites really want ui font instead of default -->
|
|
<match target="pattern">
|
|
<test qual="any" name="family">
|
|
<string>ui-monospace</string>
|
|
</test>
|
|
<edit name="family" mode="assign" binding="same">
|
|
<string>monospace</string>
|
|
</edit>
|
|
</match>
|
|
<match target="pattern">
|
|
<test qual="any" name="family">
|
|
<string>system-ui</string>
|
|
</test>
|
|
<edit name="family" mode="assign" binding="same">
|
|
<string>sans-serif</string>
|
|
</edit>
|
|
</match>
|
|
<match target="pattern">
|
|
<test qual="any" name="family">
|
|
<string>BlinkMacSystemFont</string>
|
|
</test>
|
|
<edit name="family" mode="assign" binding="same">
|
|
<string>sans-serif</string>
|
|
</edit>
|
|
</match>
|
|
<match target="pattern">
|
|
<test qual="any" name="family">
|
|
<string>-apple-system</string>
|
|
</test>
|
|
<edit name="family" mode="assign" binding="same">
|
|
<string>sans-serif</string>
|
|
</edit>
|
|
</match>
|
|
|
|
<match target="font">
|
|
<test name="family">
|
|
<string>Inter</string>
|
|
</test>
|
|
<edit name="fontfeatures" mode="append">
|
|
<string>tnum on</string>
|
|
<string>ss01 on</string>
|
|
<string>ss02 on</string>
|
|
</edit>
|
|
</match>
|
|
<match target="font">
|
|
<test name="family">
|
|
<string>Fira Code</string>
|
|
</test>
|
|
<edit name="fontfeatures" mode="append">
|
|
<string>cv06 on</string>
|
|
<string>ss02 on</string>
|
|
<string>ss04 on</string>
|
|
</edit>
|
|
</match>
|
|
</fontconfig>
|
|
'';
|
|
};
|
|
|
|
enableDefaultPackages = true;
|
|
packages =
|
|
with pkgs;
|
|
[
|
|
corefonts
|
|
dejavu_fonts
|
|
libertine
|
|
ocr-a
|
|
source-code-pro
|
|
source-sans-pro
|
|
source-serif-pro
|
|
|
|
# Code fonts
|
|
fira-code
|
|
iosevka
|
|
|
|
# UI fonts
|
|
b612
|
|
cantarell-fonts
|
|
inter
|
|
roboto
|
|
|
|
# Large multilingual fonts
|
|
fira-go
|
|
noto-fonts
|
|
noto-fonts-cjk-sans
|
|
noto-fonts-emoji
|
|
noto-fonts-extra
|
|
|
|
# Constructed languages
|
|
nasin-nanpa
|
|
|
|
# Weird symbols
|
|
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
|
|
]
|
|
++ (builtins.attrValues pkgs.extraFonts);
|
|
};
|
|
}
|