blob: 223a1eba5cf3909a10e7f6df8b1de90884a42d53 [file] [log] [blame]
Skyler Grey95c67e02022-10-30 22:28:42 +00001final: prev: let
2 lib = prev.lib;
3 fonts = ["roboto-mono"];
Skyler Grey0c7d0922022-10-30 22:59:22 +00004 ligaturizer = prev.fetchFromGitHub {
Skyler Grey95c67e02022-10-30 22:28:42 +00005 owner = "ToxicFrog";
6 repo = "Ligaturizer";
7 rev = "v5";
Skyler Grey0c7d0922022-10-30 22:59:22 +00008 sha256 = "sha256-sFzoUvA4DB9CVonW/OZWWpwP0R4So6YlAQeqe7HLq50=";
9 fetchSubmodules = true;
Skyler Grey95c67e02022-10-30 22:28:42 +000010 };
11in
12 lib.pipe fonts [
13 (builtins.map (name: {
14 inherit name;
15 value = prev.${name};
16 }))
Skyler Grey0c7d0922022-10-30 22:59:22 +000017 builtins.listToAttrs
Skyler Grey95c67e02022-10-30 22:28:42 +000018 (builtins.mapAttrs (name: value:
19 value.overrideAttrs (
20 prevAttrs: {
Skyler Grey0c7d0922022-10-30 22:59:22 +000021 outputHash = null;
22 outputHashMode = null;
23 outputHashAlgo = null;
24 nativeBuildInputs = (prevAttrs.nativeBuildInputs or []) ++ [prev.fontforge];
25 postFixup =
26 (prevAttrs.postFixup or "")
27 + ''
28 pushd ${ligaturizer}
29 mkdir -p $out/share/fonts/truetype
30 mkdir -p $out/share/fonts/opentype
31 find $out/share/fonts/truetype \
32 -name "*.ttf" \
33 -exec fontforge \
34 -lang py \
35 -script ligaturize.py {} \
36 --output-dir=$out/share/fonts/truetype \;
37 find $out/share/fonts/opentype \
38 -name "*.otf" \
39 -exec fontforge \
40 -lang py \
41 -script ligaturize.py {} \
42 --output-dir=$out/share/fonts/opentype \;
43 popd
44 '';
Skyler Grey95c67e02022-10-30 22:28:42 +000045 }
46 )))
Skyler Grey95c67e02022-10-30 22:28:42 +000047 ]