blob: c4fa777972f8a26d18c1aaa01054b13df97f4d4b [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
'';
}
)))
]