+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
# Configuration file for Calamares
-# Syntax is YAML 1.2
+#
+# This is the top-level configuration file for Calamares.
+# It specifies what modules will be used, as well as some
+# overall characteristics -- is this a setup program, or
+# an installer. More specific configuration is devolved
+# to the branding file (for the UI) and the individual
+# module configuration files (for functionality).
---
# Modules can be job modules (with different interfaces) and QtWidgets view
# modules. They could all be placed in a number of different paths.
# path to a directory or the keyword "local".
#
# "local" means:
-# - modules in $LIBDIR/calamares/moduleswith
+# - modules in $LIBDIR/calamares/modules, with
# - settings in SHARE/calamares/modules or /etc/calamares/modules.
+# In debug-mode (e.g. calamares -d) "local" also adds some paths
+# that make sense from inside the build-directory, so that you
+# can build-and-run with the latest modules immediately.
+#
+# Strings other than "local" are taken as paths and interpreted
+# relative to wherever Calamares is started. It is therefore **strongly**
+# recommended to use only absolute paths here. This is mostly useful
+# if your distro has forks of standard Calamares modules, but also
+# uses some form of upstream packaging which might overwrite those
+# forked modules -- then you can keep modules somewhere outside of
+# the "regular" module tree.
+#
#
# YAML: list of strings.
modules-search: [ local ]
# Instances section. This section is optional, and it defines custom instances
-# for modules of any kind. An instance entry has an instance name, a module
-# name, and a configuration file name. The primary goal of this mechanism is
-# to allow loading multiple instances of the same module, with different
-# configuration. If you don't need this, the instances section can safely be
-# left empty.
+# for modules of any kind. An instance entry has these keys:
+# - *module* name, which matches the module name from the module descriptor
+# (usually the name of the directory under `src/modules/`, but third-
+# party modules may diverge.
+# - *id* (optional) an identifier to distinguish this instance from
+# all the others. If none is given, the name of the module is used.
+# Together, the module and id form an instance key (see below).
+# - *config* (optional) a filename for the configuration. If none is
+# given, *module*`.conf` is used (e.g. `welcome.conf` for the welcome
+# module)
+# - *weight* (optional) In the *exec* phase of the sequence, progress
+# is reported as jobs are completed. The jobs from a single module
+# together contribute the full weight of that module. The overall
+# progress (0 .. 100%) is divided up according to the weight of each
+# module. Give modules that take a lot of time to complete, a larger
+# weight to keep the overall progress moving along steadily. This
+# weight overrides a weight given in the module descriptor. If no weight
+# is given, uses the value from the module descriptor, or 1 if there
+# isn't one there either.
+#
+# The primary goal of this mechanism is to allow loading multiple instances
+# of the same module, with different configuration. If you don't need this,
+# the instances section can safely be left empty.
#
# Module name plus instance name makes an instance key, e.g.
# "webview@owncloud", where "webview" is the module name (for the webview
-# viewmodule) and "owncloud" is the instance name, which loads a configuration
-# file named "owncloud.conf" from any of the configuration file paths,
-# including the webview module directory. This instance key can then be
-# referenced in the sequence section.
-#
-# For all modules without a custom instance specification, a default instance
-# is generated automatically by Calamares. Therefore a statement such as
-# "webview" in the sequence section automatically implies an instance key of
-# "webview@webview" even without explicitly defining this instance, and the
-# configuration file for this default instance "<modulename>@<modulename>" is
-# always assumed to be "<modulename>.conf".
+# viewmodule) and "owncloud" is the instance name. In the *sequence*
+# section below, use instance-keys to name instances (instead of just
+# a module name, for modules which have only a single instance).
+#
+# Every module implicitly has an instance with the instance name equal
+# to its module name, e.g. "welcome@welcome". In the *sequence* section,
+# mentioning a module without a full instance key (e.g. "welcome")
+# means that implicit module.
+#
+# An instance may specify its configuration file (e.g. `webview-home.conf`).
+# The implicit instances all have configuration files named `<module>.conf`.
+# This (implict) way matches the source examples, where the welcome
+# module contains an example `welcome.conf`. Specify a *config* for
+# any module (also implicit instances) to change which file is used.
#
# For more information on running module instances, run Calamares in debug
# mode and check the Modules page in the Debug information interface.
#
-# A module that is often used with instances is dummyprocess, which will
-# run a single (shell) command. By configuring more than one instance of
-# the module, multiple shell commands can be run during install.
+# A module that is often used with instances is shellprocess, which will
+# run shell commands specified in the configuration file. By configuring
+# more than one instance of the module, multiple shell sessions can be run
+# during install.
#
# YAML: list of maps of string:string key-value pairs.
#instances:
sequence:
- show:
- welcome
-# - dummypythonqt
- locale
- keyboard
- partition
- users
-# - tracking
- summary
- exec:
-# - dummycpp
-# - dummyprocess
-# - dummypython
-# - dummypythonqt
- partition
- mount
- unpackfs
- locale
- keyboard
- localecfg
-# - luksbootkeyfile
-# - luksopenswaphookcfg
-# - dracutlukscfg
-# - plymouthcfg
+ - shellprocess
+ - luksopenswaphookcfg
+ - luksbootkeyfile
+ - plymouthcfg
- initcpiocfg
- initcpio
+ - removeuser
- users
- displaymanager
- networkcfg
- hwclock
- services-systemd
-# - dracut
- - initramfs
-# - grubcfg
+ - grubcfg
- bootloader
+ - postcfg
+ - packages
- umount
- show:
-# - webview@owncloud
- finished
# A branding component is a directory, either in SHARE/calamares/branding or
# here, Calamares then takes care of finding it and loading the contents.
#
# YAML: string.
-branding: default
+branding: alter
# If this is set to true, Calamares will show an "Are you sure?" prompt right
# before each execution phase, i.e. at points of no return. If this is set to
-# false, no prompt is shown. Default is false.
+# false, no prompt is shown. Default is false, but Calamares will complain if
+# this is not explicitly set.
#
# YAML: boolean.
prompt-install: false
# setting. (e.g. partitioning seems like a bad idea, since that is expected to
# have been done already)
#
-# Default is false (for a normal installer).
+# Default is false (for a normal installer), but Calamares will complain if
+# this is not explicitly set.
#
# YAML: boolean.
dont-chroot: false
+
+# If this is set to true, Calamares refers to itself as a "setup program"
+# rather than an "installer". Defaults to the value of dont-chroot, but
+# Calamares will complain if this is not explicitly set.
+oem-setup: false
+
+# If this is set to true, the "Cancel" button will be disabled entirely.
+# The button is also hidden from view.
+#
+# This can be useful if when e.g. Calamares is used as a post-install
+# configuration tool and you require the user to go through all the
+# configuration steps.
+#
+# Default is false, but Calamares will complain if this is not explicitly set.
+#
+# YAML: boolean.
+disable-cancel: false
+
+# If this is set to true, the "Cancel" button will be disabled once
+# you start the 'Installation', meaning there won't be a way to cancel
+# the Installation until it has finished or installation has failed.
+#
+# Default is false, but Calamares will complain if this is not explicitly set.
+#
+# YAML: boolean.
+disable-cancel-during-exec: false
+
+# If this is set to true, the "Next" and "Back" button will be hidden once
+# you start the 'Installation'.
+#
+# Default is false, but Calamares will complain if this is not explicitly set.
+#
+# YAML: boolean.
+hide-back-and-next-during-exec: false
+
+# If this is set to true, then once the end of the sequence has
+# been reached, the quit (done) button is clicked automatically
+# and Calamares will close. Default is false: the user will see
+# that the end of installation has been reached, and that things are ok.
+#
+#
+quit-at-end: false