The README describes the steps in detail, but most of it is abstracted away by the update-osk-layouts.sh script.