If you want a small system, you'll need to 'roll your own': doable with both MiKTeX and TeX Live by hand. Probably best would therefore be to set something up as a portable install on one machine then zip all of that up. The key to keeping something small is to skip retaining the sources and documentation: that tends to be bigger than working code.
TeX Live has a set of 'schemes' which one could use as a starting point beyond picking everything by hand. I do that for setting up automated testing: the example for
siunitx is probably most useful. The approach there, which has a slightly different aim, is
- Install TeX Live using a profile that does the infrastructure only
- Add packages one at a time to make the code usable
siunitx, which is set up to do tests with pdfLaTeX, XeLaTeX and LuaLaTeX, the Travis-CI testing system tells me that the compressed size of the TeX system is currently about 30 Mb. (This is on a Linux system: see note below.)
The approach I'd take setting up TeX Live for 'day to day' typesetting in the same way would probably be
- Download the installer (http://tug.org/texlive) and run it manually
- De-select the installation of docs and sources
- Select the portable-style installation approach (and a suitable location)
- Select the 'basic' scheme, which includes plain TeX, the core of LaTeX and a small set of fonts
- Run the installer
- Do some tests and add any additional packages needed
- Zip up the installation and add store it as required
Using this approach I get a 76 Mb unpacked installation which shrinks to about 54 Mb on compression. I note that my
siunitx archive is smaller as it was done entirely by hand: starting from just the TeX Live infrastructure and adding packages one at a time, but possibly lacking some material (it's only used automated testing not for looking at typeset output). (I also note that I've used
zip to do some local 'test' compression whilst the Travis-CI setup probably uses a more efficient compression such as
The sizes here are from an Ubuntu virtual machine: handy for setting up such tests and getting quickly back to a clean state. Using the suggested approach, including the 'normal' binaries, the
bin subdirectory is by far the largest part of the install (46 Mb, x64), with the entire
texmf-dist tree requiring only about 8 Mb. The balance is made up of local font caches, format files, etc.: if you want to keep a system small, select only the formats you use!
One could of course use much the same approach with MiKTeX, downloading the net installer and selecting a minimal number of packages: either way, there is a certain amount of manual work to do.