blob: 223a1eba5cf3909a10e7f6df8b1de90884a42d53 [file] [log] [blame]
final: prev: let
lib = prev.lib;
fonts = ["roboto-mono"];
ligaturizer = prev.fetchFromGitHub {
owner = "ToxicFrog";
repo = "Ligaturizer";
rev = "v5";
sha256 = "sha256-sFzoUvA4DB9CVonW/OZWWpwP0R4So6YlAQeqe7HLq50=";
fetchSubmodules = true;
};
in
lib.pipe fonts [
(builtins.map (name: {
inherit name;
value = prev.${name};
}))
builtins.listToAttrs
(builtins.mapAttrs (name: value:
value.overrideAttrs (
prevAttrs: {
outputHash = null;
outputHashMode = null;
outputHashAlgo = null;
nativeBuildInputs = (prevAttrs.nativeBuildInputs or []) ++ [prev.fontforge];
postFixup =
(prevAttrs.postFixup or "")
+ ''
pushd ${ligaturizer}
mkdir -p $out/share/fonts/truetype
mkdir -p $out/share/fonts/opentype
find $out/share/fonts/truetype \
-name "*.ttf" \
-exec fontforge \
-lang py \
-script ligaturize.py {} \
--output-dir=$out/share/fonts/truetype \;
find $out/share/fonts/opentype \
-name "*.otf" \
-exec fontforge \
-lang py \
-script ligaturize.py {} \
--output-dir=$out/share/fonts/opentype \;
popd
'';
}
)))
]