From a06e07539eb22de353a615ac50d6ad0f5db1239b Mon Sep 17 00:00:00 2001 From: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com> Date: Sun, 3 Sep 2023 12:02:34 +0100 Subject: texlive: document new texlive.pkgs attribute --- doc/languages-frameworks/texlive.section.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'doc/languages-frameworks') diff --git a/doc/languages-frameworks/texlive.section.md b/doc/languages-frameworks/texlive.section.md index a4c81daa54b..777e94c16f1 100644 --- a/doc/languages-frameworks/texlive.section.md +++ b/doc/languages-frameworks/texlive.section.md @@ -38,6 +38,24 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under - Note that the wrapper assumes that the result has a chance to be useful. For example, the core executables should be present, as well as some core data files. The supported way of ensuring this is by including some scheme, for example `scheme-basic`, into the combination. +- TeX Live packages are also available under `texlive.pkgs` as derivations with outputs `out`, `tex`, `texdoc`, `texsource`, `tlpkg`, `man`, `info`. They cannot be installed outside of `texlive.combine` but are available for other uses. To repackage a font, for instance, use + + ```nix + stdenvNoCC.mkDerivation rec { + src = texlive.pkgs.iwona; + + inherit (src) pname version; + + installPhase = '' + runHook preInstall + install -Dm644 fonts/opentype/nowacki/iwona/*.otf -t $out/share/fonts/opentype + runHook postInstall + ''; + } + ``` + + See `biber`, `iwona` for complete examples. + ## Custom packages {#sec-language-texlive-custom-packages} You may find that you need to use an external TeX package. A derivation for such package has to provide the contents of the "texmf" directory in its output and provide the appropriate `tlType` attribute (one of `"run"`, `"bin"`, `"doc"`, `"source"`). Dependencies on other TeX packages can be listed in the attribute `tlDeps`. -- cgit 1.4.1