# Can I create a 'plugin' for TeX Live?

I'm creating a couple of packages that I'd like to make as easy as possible to install and manage with standard TeX package managers. (I'm trying to create an 'as plug and play as possible' package for non-technical students.)

I see that—at least with TeX Live Utility on OSX—there is a repository URL I can choose. Can I customize this to a remote repository? Will TeX Live keep it updated from that repository, in addition to the standard packages of its normal CTAN mirror?

-
As an aside, I've considered uploading it to CTAN as a single package collection, but I'm sure there are instances where one would like to keep even the format private. –  Sean Allred Sep 6 '13 at 0:30
Check how TLContrib does it tlcontrib.metatex.org. –  Khaled Hosny Sep 6 '13 at 8:46
CTAN does not like TDS submissions; they always want a non-TDS `.zip` file with a flat directory structure. One can submit a `TDS` in addition, but that causes lots of extra pain for all involved people (except for the end-user, of course). –  Christian Feuersänger Sep 6 '13 at 11:15
see the detailed instructions on ctan.org/upload –  Christian Feuersänger Sep 6 '13 at 11:16
@ChristianFeuersänger a .tds.zip file isn't all that bad for us; we have a checker script, and if the file fails that test, we just reject it. –  wasteofspace Sep 7 '13 at 11:17

Both TeX Live and MiKTeX take their package content from CTAN. As a (La)TeX package author, the part of the process you influence is sending stuff to CTAN: basically what it does and what it is called. The TeX Live team and Christian Schenk (MiKTeX) then deal with the task of adding stuff to the distributions. Once that happens, the resulting bundled material is distributed around the servers, and if all the mirroring is working well it normally takes less than a couple of days between an update making it in to the distributions and being available via all of the mirrors.

In terms of installation on a machine, both TeX Live and MiKTeX offer both 'local repository' and 'remote repository' modes, and indeed the possibility to select a single remote system or simply 'take the default'. Both allow you to set a 'standard' source: the standard setting for both is I think 'random remote system'.

-

There are several options to achieve your aim, choosing the best depends mostly on the license and distribution terms

There are already several additional TeX Live repositories (tlcritical, tlptexlive, tlcontrib, ...). You can create your own repository and make it available only to those you want to. This requires a bit of work which I hope I have more or less completely documented in http://www.tug.org/svn/texlive/trunk/Master/tlpkg/doc/repository-setup.txt?view=markup . The main programs to get this running are `tl-update-tlpdb` and `tl-update-tlnet`.