{ pkgs, ... }: {
fonts.fontconfig.enable = true;
# list font names: `fc-list -f '%{family[0]}\n' | sort -u`
fonts.fontconfig.defaultFonts = {
emoji = [
"Noto Color Emoji"
"Noto Emoji"
];
monospace = [
"DejaVu Sans Mono"
"Noto Sans Mono CJK SC"
"FiraCode Nerd Font Mono"
];
sansSerif = [
"DejaVu Sans"
"Noto Sans CJK SC"
"FiraCode Nerd Font"
];
serif = [
"DejaVu Serif"
"Noto Serif CJK SC"
"FiraCode Nerd Font"
];
};
home.packages = with pkgs; [
# vim vista need nerd fonts
# https://github.com/liuchengxu/vista.vim/issues/74
# https://github.com/liuchengxu/space-vim/wiki/tips#programming-fonts
# available nerd fonts: nixpkgs/pkgs/data/fonts/nerdfonts/shas.nix
## use non-variable noto font for feishu and other old electron apps
## for more details see: https://github.com/NixOS/nixpkgs/issues/171976
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
nerd-fonts.fira-code
(noto-fonts.override { variants = [ "NotoSansSymbols2" ]; })
];
}