diff --git a/src/modules/README.md b/src/modules/README.md index ab1d6437d..d80d360ac 100644 --- a/src/modules/README.md +++ b/src/modules/README.md @@ -2,4 +2,14 @@ Calamares modules directory === Calamares modules are plugins that implement the Calamares module API and can provide features like installer pages, batch jobs, etc. -To add a module, put it in a subdirectory and make sure it has a CMakeLists.txt, it should be picked up automatically by our CMake magic. + +### Qt plugin viewmodules + +Currently the only way to write a module which exposes one or more installer pages (viewmodule) is through a Qt plugin. Viewmodules should implement `Calamares::ViewStep`. They can also implement `Calamares::Job` to provide jobs. + +To add a Qt plugin module, put it in a subdirectory and make sure it has a `module.conf` and a CMakeLists.txt with a `calamares_add_plugin` call. It will be picked up automatically by our CMake magic. + + +### Python and process jobmodules + +Batch jobs for Calamares can be written as Python scripts or as generic commands (shell scripts, external programs, etc.). To add a Python or process jobmodule, put it in a subdirectory and make sure it has a `module.conf`. It will be picked up automatically by our CMake magic. CMakeLists.txt is not used for Python and process jobmodules.