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...
pdflatex not found
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.

1 Answer 1


You're linking some ancient version of manual. It's explained in recent versions: http://nixos.org/nixpkgs/manual/#sec-language-texlive

nix-env -iA nixos.texlive.combined.scheme-basic

It is also explained the NixOS wiki: https://nixos.wiki/wiki/TexLive

  • 1
    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.)
    – toraritte
    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
  • I see the same error pointed out by @toraritte even on NixOS 19.09.
    – Ashesh
    Jan 5, 2020 at 16:14
  • @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
  • 1
    @VladimírČunát yeah, that's what I did in the end; it works with scheme-medium and not small.
    – Ashesh
    Jan 8, 2020 at 15:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .