BJT -- 2N3904, or something smaller like MMBT81, or BFR92 (which is an RF transistor, so use it at low current to save power and avoid oscillation). Don't expect amazing performance: under 1MHz, probably.
You'll probably do something more like RTL or DTL, because TTL requires more transistors, and you don't really need the drive/fanout characteristics in every single gate. It's close enough, not a big distinction but probably helpful for researching circuit examples.
NMOS isn't practical with jellybean MOSFETs (i.e., 2N7002), because it's so preposterously slow at any reasonable supply currents (i.e., you won't get into the MHz unless you have 10s of mA to spare). If you can find a small (like RUM001L02) or RF transistor for as cheap, you'll get reasonable performance. Otherwise, count on quite slow clock frequencies (like the guy who built the MOS 6502 CPU from 2N7002's: 30kHz max!).
Tim