Realistic Rock Type Layers

Does anyone know how to create different Rock type layers, such as sedimentary rocks and metamorphic rocks that are distinct from each other? And is there a way to procedurally create them in certain environments. And have the corresponding minerals occur within them using the voxel plugin.