1<section xmlns="http://docbook.org/ns/docbook"
2 xmlns:xlink="http://www.w3.org/1999/xlink"
3 xml:id="sec-language-texlive">
4
5<title>TeX Live</title>
6
7<para>Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute <varname>texlive</varname>.</para>
8<section><title>User's guide</title>
9 <itemizedlist>
10 <listitem><para>
11 For basic usage just pull <varname>texlive.combined.scheme-basic</varname> for an environment with basic LaTeX support.</para></listitem>
12 <listitem><para>
13 It typically won't work to use separately installed packages together.
14 Instead, you can build a custom set of packages like this:
15 <programlisting>
16texlive.combine {
17 inherit (texlive) scheme-small collection-langkorean algorithms cm-super;
18}
19 </programlisting>
20 There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
21 </para></listitem>
22 <listitem><para>
23 By default you only get executables and files needed during runtime, and a little documentation for the core packages. To change that, you need to add <varname>pkgFilter</varname> function to <varname>combine</varname>.
24 <programlisting>
25texlive.combine {
26 # inherit (texlive) whatever-you-want;
27 pkgFilter = pkg:
28 pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super";
29 # elem tlType [ "run" "bin" "doc" "source" ]
30 # there are also other attributes: version, name
31}
32 </programlisting>
33 </para></listitem>
34 <listitem><para>
35 You can list packages e.g. by <command>nix-repl</command>.
36 <programlisting>
37$ nix-repl
38nix-repl> :l <nixpkgs>
39nix-repl> texlive.collection-<TAB>
40 </programlisting>
41 </para></listitem>
42 </itemizedlist>
43</section>
44
45<section><title>Known problems</title>
46 <itemizedlist>
47 <listitem><para>
48 Some tools are still missing, e.g. luajittex;</para></listitem>
49 <listitem><para>
50 some apps aren't packaged/tested yet (asymptote, biber, etc.);</para></listitem>
51 <listitem><para>
52 feature/bug: when a package is rejected by <varname>pkgFilter</varname>, its dependencies are still propagated;</para></listitem>
53 <listitem><para>
54 in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat.</para></listitem>
55 </itemizedlist>
56</section>
57
58
59</section>
60