After my previous
engine became thirsty for oil, I decided to install an M50B25 that
I had setting in my garage. I had bought it the year before without a
particular plan for it.

Summary of the swap:
engine and wiring harness from '92 325i
transmission, flywheel, clutch, slave cyl from '04 330i 6-speed manual
driveshaft front half from 528e with 3hp22 auto trans
driveshaft rear half from '85 318i manual
radiator from e36 325i (fits with some slight massaging of the frame rails)
stock expansion tank connected via a 3/4" steel pipe across the front of the engine and rubber hoses
engine and trans mounting brackets were homemade
oil pan, pump pickup, oil level sensor, dipstick from e34 525i
front exhaust manifold from e34 525i (rears are same on both e34 and e36)
m20 fan and fan clutch
aluminum t-stat housing to replace the stock plastic one
modified steel coolant pipe from an m52 to replace the silly "spider" hose
shift console/lever/linkage is hacked up BMW parts (there is probably a better way than how I did it)
modified e21 brake booster
downpipes were homemade (staying clear of the steering idler arm is tricky)

I mounted the original e28 power steering pump, with a different pulley on it
(pulled from a junkyard car with m5x engine) and a longer serpentine belt
(1620mm).
wiring guide