diff --git a/calamares/modules/packagechooser.conf b/calamares/modules/packagechooser.conf index 28f06f3..f618e8d 100644 --- a/calamares/modules/packagechooser.conf +++ b/calamares/modules/packagechooser.conf @@ -1,38 +1,62 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# # Configuration for the low-density software chooser --- -# The packagechooser writes a GlobalStorage value for the choice that -# has been made. The key is *packagechooser_*. If *id* is set here, -# it is substituted into the key name. If it is not set, the module's -# instance name is used; see the *instances* section of `settings.conf`. -# If there is just one packagechooser module, and no *id* is set, -# resulting GS key is probably *packagechooser_packagechooser*. -# -# The GS value is a comma-separated list of the IDs of the selected -# packages, or an empty string if none is selected. -# -# id: "" - # Software selection mode, to set whether the software packages # can be chosen singly, or multiply. # -# Possible modes are "optional", "required" (for zero or one) +# Possible modes are "optional", "required" (for zero-or-one or exactly-one) # or "optionalmultiple", "requiredmultiple" (for zero-or-more # or one-or-more). mode: required +# Software installation method: +# +# - "legacy" or "custom" or "contextualprocess" +# When set to "legacy", writes a GlobalStorage value for the choice that +# has been made. The key is *packagechooser_*. The module's +# instance name is used; see the *instances* section of `settings.conf`. +# If there is just one packagechooser module, and no special instance is set, +# resulting GS key is probably *packagechooser_packagechooser*. +# +# The GS value is a comma-separated list of the IDs of the selected +# packages, or an empty string if none is selected. +# +# With "legacy" installation, you should have a contextualprocess or similar +# module somewhere in the `exec` phase to process the GlobalStorage key +# and actually **do** something for the packages. +# +# - "packages" +# When set to "packages", writes GlobalStorage values suitable for +# consumption by the *packages* module (which should appear later +# in the `exec` section. These package settings will then be handed +# off to whatever package manager is configured there. +# +# There is no need to put this module in the `exec` section. There +# are no jobs that this module provides. You should put **other** +# modules, either *contextualprocess* or *packages* or some custom +# module, in the `exec` section to do the actual work. +method: legacy + + # Human-visible strings in this module. These are all optional. # The following translated keys are used: # - *step*, used in the overall progress view (left-hand pane) # -# Each key kan have a [locale] added to it, which is used as +# Each key can have a [locale] added to it, which is used as # the translated string for that locale. For the strings # associated with the "no-selection" item, see *items*, below -# with the explicit id "". +# with the explicit item-*id* "". # labels: step: "Office Suite" step[de]: "Office-Paket" +# (Optional) item-*id* of pre-selected list-view item. +# Pre-selects one of the items below. +# default: kde + # Items to display in the chooser. In general, this should be a # pretty short list to avoid overwhelming the UI. This is a list # of objects, and the items are displayed in list order. @@ -42,31 +66,51 @@ labels: # as a source for the data. # # For data provided by the list: the item has an id, which is used in -# setting the value of *packagechooser_*). The following fields -# are mandatory: +# setting the value of *packagechooser_*. The following field +# is mandatory: # -# - *id* ID for the product. The ID "" is special, and is used for -# "no package selected". Only include this if the mode allows -# selecting none. -# - *package* Package name for the product. While mandatory, this is -# not actually used anywhere. -# - *name* Human-readable name of the product. To provide translations, +# - *id* +# ID for the product. The ID "" is special, and is used for +# "no package selected". Only include this if the mode allows +# selecting none. The name and description given for the "no package +# selected" item are displayed when the module starts. +# +# Each item must adhere to one of three "styles" of item. Which styles +# are supported depends on compile-time dependencies of Calamares. +# Both AppData and AppStream may **optionally** be available. +# +# # Generic Items # +# +# These items are always supported. They require the most configuration +# **in this file** and duplicate information that may be available elsewhere +# (e.g. in AppData or AppStream), but do not require any additional +# dependencies. These items have the following **mandatory** fields: +# +# - *name* +# Human-readable name of the product. To provide translations, # add a *[lang]* decoration as part of the key name, e.g. `name[nl]` # for Dutch. The list of usable languages can be found in # `CMakeLists.txt` or as part of the debug output of Calamares. -# - *description* Human-readable description. These can be translated -# as well. -# - *screenshot* Path to a single screenshot of the product. May be -# a filesystem path or a QRC path (e.g. ":/images/no-selection.png"). +# - *description* +# Human-readable description. These can be translated as well. +# - *screenshot* +# Path to a single screenshot of the product. May be a filesystem +# path or a QRC path, e.g. ":/images/no-selection.png". # -# Use the empty string "" as ID / key for the "no selection" item if -# you want to customize the display of that item as well. +# The following field is **optional** for an item: +# +# - *packages* : +# List of package names for the product. If using the *method* +# "packages", consider this item mandatory (because otherwise +# selecting the item would install no packages). +# +# # AppData Items # # # For data provided by AppData XML: the item has an *appdata* # key which points to an AppData XML file in the local filesystem. # This file is parsed to provide the id (from AppData id), name # (from AppData name), description (from AppData description paragraphs -# or the summary entries), and a screenshot (the defautl screenshot +# or the summary entries), and a screenshot (the default screenshot # from AppData). No package is set (but that is unused anyway). # # AppData may contain IDs that are not useful inside Calamares, @@ -75,6 +119,8 @@ labels: # **may** specify an ID or screenshot path, as above. This will override # the settings from AppData. # +# # AppStream Items # +# # For data provided by AppStream cache: the item has an *appstream* # key which matches the AppStream identifier in the cache (e.g. # *org.kde.kwrite.desktop*). Data is retrieved from the AppStream