2206d7afe2
I wanted to list the different texlive collections using the nix-repl, as per the [manual](https://nixos.org/nixpkgs/manual/#idm140737316065984). It didn't work, since the nixpkgs were not loaded. Doing `:l <nixpkgs>` first resolved the problem. This change adds the nixpkgs loading step to the manual so that the next inexperienced person don't have to figure out why it didn't work. I tested this on NixOS unstable (16.09pre90254.6b20d5b) with nix-repl 1.11.3.
61 lines
2.3 KiB
XML
61 lines
2.3 KiB
XML
<section xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xml:id="sec-language-texlive">
|
|
|
|
<title>TeX Live</title>
|
|
|
|
<para>Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute <varname>texlive</varname>.</para>
|
|
<section><title>User's guide</title>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
For basic usage just pull <varname>texlive.combined.scheme-basic</varname> for an environment with basic LaTeX support.</para></listitem>
|
|
<listitem><para>
|
|
It typically won't work to use separately installed packages together.
|
|
Instead, you can build a custom set of packages like this:
|
|
<programlisting>
|
|
texlive.combine {
|
|
inherit (texlive) scheme-small collection-langkorean algorithms cm-super;
|
|
}
|
|
</programlisting>
|
|
There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
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>.
|
|
<programlisting>
|
|
texlive.combine {
|
|
# inherit (texlive) whatever-you-want;
|
|
pkgFilter = pkg:
|
|
pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super";
|
|
# elem tlType [ "run" "bin" "doc" "source" ]
|
|
# there are also other attributes: version, name
|
|
}
|
|
</programlisting>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
You can list packages e.g. by <command>nix-repl</command>.
|
|
<programlisting>
|
|
$ nix-repl
|
|
nix-repl> :l <nixpkgs>
|
|
nix-repl> texlive.collection-<TAB>
|
|
</programlisting>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section><title>Known problems</title>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
Some tools are still missing, e.g. luajittex;</para></listitem>
|
|
<listitem><para>
|
|
some apps aren't packaged/tested yet (asymptote, biber, etc.);</para></listitem>
|
|
<listitem><para>
|
|
feature/bug: when a package is rejected by <varname>pkgFilter</varname>, its dependencies are still propagated;</para></listitem>
|
|
<listitem><para>
|
|
in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat.</para></listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
|
|
</section>
|
|
|