blob: 16fe2734a4aee8d3f2c133dd8b7251647eb8b5a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
{
lib,
buildEnv,
typstPackages,
makeBinaryWrapper,
typst,
}:
lib.makeOverridable (
{ ... }@typstPkgs:
{
packages ? (ps: [ ]),
fonts ? [ ],
extraWrapperArgs ? [ ],
}:
buildEnv {
inherit (typst) meta;
name = "${typst.name}-env";
paths = lib.closePropagation (packages typstPkgs);
pathsToLink = [ "/lib/typst-packages" ];
nativeBuildInputs = [ makeBinaryWrapper ];
postBuild = ''
export TYPST_LIB_DIR="$out/lib/typst/packages"
mkdir -p $TYPST_LIB_DIR
mv $out/lib/typst-packages $TYPST_LIB_DIR/preview
cp -r ${typst}/share $out/share
mkdir -p $out/bin
TYPST_FONT_PATHS=${lib.escapeShellArg (lib.concatStringsSep ":" fonts)}
makeWrapper "${lib.getExe typst}" "$out/bin/typst" \
--set TYPST_PACKAGE_CACHE_PATH $TYPST_LIB_DIR \
''${TYPST_FONT_PATHS:+--set TYPST_FONT_PATHS "$TYPST_FONT_PATHS"} \
${lib.escapeShellArgs extraWrapperArgs}
'';
}
) typstPackages
|