# How to compile a Latex document on NixOS?

I normally use `pdflatex` to compile latex documents, but on NixOS I do not see that `pdflatex` is available to install via `\$ nix-env -i pdflatex`.

``````\$ nix-env -qa pdflatex
error: selector ‘pdflatex’ matches no derivations
``````

Results for `pdflatex` do not appear under search at nixos.org/nixos/packages.html either. However, I did notice there the package `rubber`, which apparently wraps other latex programs including `pdflatex`. After installing `rubber` and attempting to compile my latex document with it I get the following "pdflatex is not found" error.

``````\$ rubber --pdf doc.tex
compiling doc.tex...
Running pdflatex failed.
``````

How can I install pdflatex to compile latex documents on NixOS?

Why is `rubber` available for installation via `nix-env` whereas `pdflatex`, a dependency of `rubber`, is not?

As a side-note, the 'Tex/Latex' section of the manual does not explain this.

``````nix-env -iA nixos.texlive.combined.scheme-basic
• Or, on non-NixOS: `nix-env -iA nixpkgs.texlive.combined.scheme-basic` (will throw `LaTeX Error: File 'lmodern.sty' not found.` though, and couldn't figure out how to link it after installing `nix-env -i lmodern`, based on this answer.) Jul 31, 2018 at 17:07
• You need to use the `.combine` function instead of installing TeX Live packages separately. Aug 5, 2018 at 19:47
• @Ashesh: the answer is still the same. As TeX Live upstream designed it, `scheme-basic` is very small and does not include Latin Modern. It's in that manual how you can mix your own combination. If you want a simple "solution", just install a larger scheme instead, e.g. `scheme-small` does contain this font if I look correctly. Jan 7, 2020 at 20:12
• @VladimírČunát yeah, that's what I did in the end; it works with `scheme-medium` and not small. Jan 8, 2020 at 15:53