while on Ubuntu, I had a file called /etc/texmf/texmf.cnf where I could set up some userspecific confs, e.g. something like


I would like to know where to find this file on archlinux, as I need to set up TEXMFHOME to a specific folder....

  • 4
    Please, try kpsewhich -a texmf.cnf and report the result.
    – egreg
    Commented Apr 13, 2014 at 18:10
  • export TEXMFHOME=your_folder in your .bashrc or something similar?
    – user31729
    Commented Apr 13, 2014 at 18:14
  • locate texmf.cnf?
    – cfr
    Commented Apr 13, 2014 at 18:49
  • 1
    Also, don't take this the wrong way but if you do not know how to locate a file in your file system, Arch Linux may not be for you at this time. That is to say, using and maintaining it will require a great deal of work and may be more frustration than you want to deal with. It can be done, but it requires a lot of patience as the learning curve is then steep.
    – cfr
    Commented Apr 13, 2014 at 19:23
  • Short answer: /usr/share/texmf-dist/web2c/texmf.cnf and run fmtutil-sys --all after changing its contents.
    – strpeter
    Commented Mar 9, 2015 at 0:08

3 Answers 3


As egreg said, kpsewhich -a texmf.cnf will show you the location of the file. However, there are other ways. As I said locate texmf.cnf is maybe the simplest.

Or you can look in the PKGBUILD:

   # replace upstream texmf.cnf with ours
   rm -f "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf
   install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf
   # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
   # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
   ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf

This shows that the file is installed in /usr/share/texmf-dist/web2c/texmf.cnf with a symlink from /etc/texmf/web2c/texmf.cnf. But don't edit /usr/share/texmf-dist/web2c/texmf.cnf - as the file itself points out, your changes will be overwritten on update if you do.

Should locate not be available, install it using

pacman -S mlocate

In Unix/Linux you can use the command locate(1) (sometimes an alternative called slocate(1) is provided), called like locate texmf.cnf. If none is available, a brute-force find / -name texmf.cnf will tell you about files called that.


kpathsea looks for texmf.cnf file based on the the TEXMFCNF variable. Try kpsewhich --var-value TEXMFCNF to see the list of default dirs.

Please note that TEXMFCNF != TEXMFCONFIG and that texmf.cnf should be inside web2c (see TeX Directory Structure).

See also the content of the default texmf.cnf file (e.g. less $(kpsewhich texmf.cnf)) and kpathsea doc.

A quick (and dirty?) way of setting a PATH for your custom file can be:

export TEXMFCNF="$HOME/texmf/web2c,/usr/share/texmf-dist/web2c"

You must log in to answer this question.

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