From 0df602946272119ae69d57471e922df5b29c7aec Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sun, 19 Jan 2025 11:04:02 +0100 Subject: [PATCH] flake: fix build derivation --- flake.nix | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 5215e88..8fc0eb3 100644 --- a/flake.nix +++ b/flake.nix @@ -34,8 +34,7 @@ typst = pkgs.nixpkgs-unstable.typst; mkTypstScript = - action: - documentName: + action: documentName: pkgs.writeShellApplication { name = "typst-${action}-${documentName}"; @@ -56,9 +55,36 @@ ''; }; + mkBuildDocumentDrv = + action: documentName: + pkgs.stdenvNoCC.mkDerivation { + pname = "typst-${action}-${documentName}"; + version = typst.version; + + src = pkgs.lib.cleanSource ./.; + + buildInputs = [ typst ]; + + buildPhase = '' + runHook preBuild + + ${lib.getExe (mkTypstScript "compile" documentName)} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -m640 -D ${documentName}.* -t $out + + runHook postInstall + ''; + }; + documentDrvs = lib.genAttrs (lib.attrNames ( lib.filterAttrs (k: v: (v == "directory")) (builtins.readDir ./src) - )) (d: (mkTypstScript "compile" d)); + )) (d: (mkBuildDocumentDrv "compile" d)); scriptDrvs = {