calamares/src/modules
2014-08-04 17:32:52 +02:00
..
dummyprocess Alignment fix. 2014-07-16 15:53:43 +02:00
dummypython Do not make dummypython fail 2014-08-01 09:59:23 +02:00
fstab Some test data for fstab module 2014-08-04 16:31:45 +02:00
greeting Prepare for late enqueuing of jobs to the JobQueue. 2014-07-08 14:03:06 +02:00
grub Import check_chroot_call separately 2014-08-04 17:32:52 +02:00
keyboard Store keyboard layout information in GlobalStorage. 2014-08-01 12:42:34 +02:00
locale Create jobs in locale viewmodule. 2014-08-01 16:29:19 +02:00
mount Use libcalamares.utils.mount 2014-07-30 15:37:34 +02:00
partition Hide disk which contains / 2014-07-30 23:21:06 +02:00
summary Show a summary of the partition changes on the summary page 2014-07-30 14:17:14 +02:00
umount PEPify umount 2014-07-29 14:53:07 +02:00
unsquashfs Simplify unsquash code 2014-08-01 11:59:44 +02:00
users Add autologinUser to GlobalStorage. 2014-08-01 11:20:20 +02:00
CMakeLists.txt Add CalamaresAddModuleSubdirectory, a CMake function for modules that 2014-07-14 16:26:10 +02:00
globalStorage.yaml Consistency: calamares_main ==> run; global_storage => globalStorage 2014-07-25 16:46:12 +02:00
README.md Update README.md 2014-07-29 14:40:56 +02:00
testmodule.py globalStorage ==> globalstorage fix 2014-07-30 12:41:34 +02:00

Calamares modules directory

Calamares modules are plugins that provide features like installer pages, batch jobs, etc. Each Calamares module lives in its own directory.

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.

All code in Python job modules must obey PEP8, the only exception are libcalamares.globalstorage keys, which should always be camelCaseWithLowerCaseInitial.