How to use any camera module on Nano?

So far I have found this list of supported cameras. I am new to developing with camera modules, and I am wondering exactly what needs to be done to use any camera module that has a connector that works on the Nano?
Is it writing camera controls(i2c?) firmware? What more?

You need to write the appropriate camera driver (kernel loadable module.)

That module will typically control the sensor in the camera to implement all the standard features (exposure, timing, Bayer mode, etc) and also control the bus driver chip in the camera to emit the appropriate kinds of CSI packets.

You can read the available example source code for cameras for the Tegra boards for a deeper insight, although of course different cameras will need different controls.