Commit aa7aa11
Changed files (6)
modules
desktop
aesthetic
app
modules/desktop/aesthetic/fonts.nix → modules/desktop/aesthetic/fonts/default.nix
@@ -22,10 +22,18 @@
serif = mkOption {
type = types.listOf fontType;
default = [
+ {
+ name = "Source Han Serif SC VF";
+ package = pkgs: pkgs.source-han-serif-vf-ttf;
+ }
{
name = "Noto Serif CJK SC";
package = pkgs: pkgs.noto-fonts-cjk-serif;
}
+ {
+ name = "Symbols Nerd Font";
+ package = pkgs: pkgs.nerd-fonts.symbols-only;
+ }
];
};
sansSerif = mkOption {
@@ -35,15 +43,27 @@
name = "Sarasa Gothic SC";
package = pkgs: pkgs.sarasa-gothic;
}
+ {
+ name = "Source Han Sans SC VF";
+ package = pkgs: pkgs.source-han-sans-vf-ttf;
+ }
{
name = "Noto Sans CJK SC";
package = pkgs: pkgs.noto-fonts-cjk-sans;
}
+ {
+ name = "Symbols Nerd Font";
+ package = pkgs: pkgs.nerd-fonts.symbols-only;
+ }
];
};
monospace = mkOption {
type = types.listOf fontType;
default = [
+ {
+ name = "JetBrains Mono";
+ package = pkgs: pkgs.jetbrains-mono;
+ }
{
name = "Maple Mono NF CN";
package = pkgs: pkgs.maple-mono.NF-CN;
@@ -53,10 +73,18 @@
emoji = mkOption {
type = types.listOf fontType;
default = [
+ {
+ name = "Twitter Color Emoji";
+ package = pkgs: pkgs.twitter-color-emoji;
+ }
{
name = "Noto Color Emoji";
package = pkgs: pkgs.noto-fonts-color-emoji;
}
+ {
+ name = "Symbols Nerd Font";
+ package = pkgs: pkgs.nerd-fonts.symbols-only;
+ }
];
};
};
@@ -72,16 +100,44 @@
enableDefaultPackages = false;
fontDir.enable = true;
- packages =
- (map (x: x.package pkgs)
+ packages = lib.unique ((map (x: x.package pkgs)
(lib.concatMap (x: cfg.${x}) ["serif" "sansSerif" "monospace" "emoji"]))
++ (with pkgs; [
+ # CJK
+ arphic-ukai
+ lxgw-wenkai
+ lxgw-neoxihei
+ nur.repos.hpcesia.lxgw-neozhisong
+ nur.repos.hpcesia.zhuque-fangsong
+
+ # Latn
dejavu_fonts
+ gyre-fonts
+ inter
noto-fonts-lgc-plus
- ]);
- fontconfig.defaultFonts =
- lib.genAttrs ["serif" "sansSerif" "monospace" "emoji"]
- (x: lib.unique (map (x: x.name) cfg.${x}));
+
+ # Math
+ stix-two
+ tex-gyre-math.termes
+
+ # Misc
+ unifont
+ unifont_upper
+ ]));
+
+ fontconfig = {
+ antialias = true;
+ hinting = {
+ enable = false;
+ style = "none";
+ };
+
+ defaultFonts =
+ lib.genAttrs ["serif" "sansSerif" "monospace" "emoji"]
+ (x: lib.unique (map (x: x.name) cfg.${x}));
+
+ localConf = builtins.readFile ./fonts.local.xml;
+ };
};
};
};
modules/desktop/aesthetic/fonts/fonts.local.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <match target="pattern">
+ <test name="family">
+ <string>KaiTi</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>AR PL UKai CN</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family">
+ <string>楷体</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>AR PL UKai CN</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family">
+ <string>楷体_GB2312</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>AR PL UKai CN</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family" qual="any">
+ <string>FangSong</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>Zhuque Fangsong (technical preview)</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family" qual="any">
+ <string>SimFang</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>Zhuque Fangsong (technical preview)</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family" qual="any">
+ <string>STFangsong</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>Zhuque Fangsong (technical preview)</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family" qual="any">
+ <string>仿宋</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>Zhuque Fangsong (technical preview)</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family" qual="any">
+ <string>华文仿宋</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>Zhuque Fangsong (technical preview)</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family" qual="any">
+ <string>Times New Roman</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>TeX Gyre Termes</string>
+ </edit>
+ </match>
+ <match target="pattern">
+ <test name="family">
+ <string>Source Han Serif SC</string>
+ </test>
+ <edit name="family" mode="prepend" binding="strong">
+ <string>Source Han Serif SC VF</string>
+ </edit>
+ </match>
+</fontconfig>
modules/desktop/app/browser/floorp/default.nix
@@ -122,8 +122,6 @@
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
# == Appearance ==
- "font.name.monospace.x-western" = (builtins.elemAt fontsCfg.monospace 0).name;
- "font.name.sans-serif.x-western" = (builtins.elemAt fontsCfg.sansSerif 0).name;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.default.sites" = "";
"browser.toolbars.bookmarks.visibility" = "always";
modules/desktop/app/term/foot.nix
@@ -17,7 +17,7 @@
value = {
main = {
pad = "10x10";
- font = "${(builtins.elemAt fontsCfg.monospace 0).name}:size=${toString fontsCfg.size}";
+ font = "monospace:size=${toString fontsCfg.size}";
dpi-aware = "no";
};
};
modules/desktop/app/libreoffice.nix
@@ -6,10 +6,6 @@
];
};
- nixos = {pkgs, ...}: {
- fonts.packages = [pkgs.nur.repos.rewine.ttf-ms-win10];
- };
-
hjem = {pkgs, ...}: {
packages = [pkgs.libreoffice];
};
modules/desktop/kmscon.nix
@@ -13,7 +13,6 @@
extraOptions = "--term xterm-256color";
config = {
hwaccel = config.hardware.facter.detected.graphics.enable or false;
- font-name = (builtins.elemAt fontsCfg.monospace 0).name;
font-size = fontsCfg.size;
};
};