nix-dotfiles/modules/fonts.nix
2025-03-31 16:39:56 -06:00

48 lines
1.5 KiB
Nix

{pkgs, ...}: let
clear-sans = pkgs.stdenv.mkDerivation {
name = "clear-sans";
src = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/resir014/Clear-Sans-Webfont/97eec13/fonts/TTF/ClearSans-Regular.ttf";
sha256 = "0vzhy3l056gj5vkcs1kglr4mr0546fq093v78i4ri8xni7w1m0dv";
};
dontUnpack = true;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp $src $out/share/fonts/truetype/ClearSans-Regular.ttf
'';
};
in {
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
(nerdfonts.override {fonts = ["0xProto" "FiraCode" "JetBrainsMono" "Hack" "Noto" "NerdFontsSymbolsOnly"];})
ipafont
kochi-substitute
clear-sans
(stdenv.mkDerivation {
name = "binary-clock-font";
src = fetchurl {
url = "https://github.com/jamessouth/polybar-binary-clock-fonts/raw/master/BinaryClockBoldMono.ttf";
sha256 = "0vxy23zr8r8faa5s7vy5bf8z2q7my39ghmd9ilk7aww9wqsrsjqx";
};
dontUnpack = true;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp $src $out/share/fonts/truetype/BinaryClockBoldMono.ttf
'';
})
];
fontconfig = {
enable = true;
defaultFonts = {
monospace = ["0xProto Nerd Font" "Noto Sans Mono CJK JP"];
sansSerif = ["Clear Sans" "Noto Sans CJK JP"];
serif = ["Noto Serif" "Noto Serif CJK JP"];
emoji = ["Noto Color Emoji"];
};
};
};
}