nix-flakes/modules/mizukios/features/fonts.nix
2026-07-05 13:36:31 +09:00

70 lines
2 KiB
Nix

{ pkgs, ... }:
let
wantedSans = pkgs.stdenvNoCC.mkDerivation {
pname = "wanted-sans";
version = "1.0.3";
src = pkgs.fetchzip {
url = "https://github.com/wanteddev/wanted-sans/releases/download/v1.0.3/WantedSans-1.0.3.zip";
hash = "sha256-uksJ7Qmwv0kQw/mXyI179XaFHGMI8fuumcitD/XpA/w=";
stripRoot = false;
};
installPhase = ''
runHook preInstall
install -Dm644 variable/*.ttf -t $out/share/fonts/truetype
install -Dm644 otf/*.otf -t $out/share/fonts/opentype
runHook postInstall
'';
};
suit-font = pkgs.stdenvNoCC.mkDerivation {
pname = "suit-font";
version = "v2.0.5";
# name을 다르게 지정하여 unpack 시 충돌을 방지합니다.
srcs = [
(pkgs.fetchzip {
name = "suit-variable";
url = "https://github.com/sun-typeface/SUIT/releases/download/v2.0.5/SUIT-Variable-ttf.zip";
hash = "sha256-oRZGxT/v6jBa5cOsYWG8qHfdPIRBqPAyt6hjfBTD1jo=";
stripRoot = false;
})
(pkgs.fetchzip {
name = "suit-static";
url = "https://github.com/sun-typeface/SUIT/releases/download/v2.0.5/SUIT-otf.zip";
hash = "sha256-YDyBKU5P+tlMsK4L2dEn6ibOo6UxDK2B507rm/zy2FA=";
stripRoot = false;
})
];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/truetype $out/share/fonts/opentype
# suit-variable, suit-static
find . -name "__MACOSX" -prune -o -name "*.ttf" -exec cp {} $out/share/fonts/truetype/ \;
find . -name "__MACOSX" -prune -o -name "*.otf" -exec cp {} $out/share/fonts/opentype/ \;
runHook postInstall
'';
};
in
{
fonts = {
packages = with pkgs; [
liberation_ttf
fira-code
fira-code-symbols
dejavu_fonts
pretendard
pretendard-jp
nanum-gothic-coding
nerd-fonts.jetbrains-mono
wantedSans
suit-font
];
};
}