Right now, adding blocks to the layout is done manually, but you can create or add blocks to a layout programmatically. The core System module does this in `system_update_1025()`.