# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Configuration for the low-density software chooser
---
# Software selection mode, to set whether the software packages
# can be chosen singly, or multiply.
#
# 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_<id>*. 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 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 item-*id* "".
#
labels:
    step: "Extra Software"

# (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.
#
# Either provide the data for an item in the list (using the keys
# below), or use existing AppData XML files, or use AppStream cache
# 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_<module-id>*. 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. 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".
#
# 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 default screenshot
# from AppData). No package is set (but that is unused anyway).
#
# AppData may contain IDs that are not useful inside Calamares,
# and the screenshot URL may be remote -- a remote URL will not
# be loaded and the screenshot will be missing. An item with *appdata*
# **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
# cache for that ID. The package name is set from the AppStream data.
#
# An item for AppStream may also contain an *id* and a *screenshot*
# key which will override the data from AppStream.
items:
    - id: "kdenlive"
      package: "kdenlive"
      name: "Kdenlive Video Editor"
      description: "Through the MLT framework, Kdenlive integrates many plugin effects for video and sound processing or creation. Furthermore Kdenlive brings a powerful titling tool, a DVD authoring (menus) solution, and can then be used as a complete studio for video creation."
    - id: "krita"
      package: "krita"
      name: "Krita Photo Editor"
      description: "Krita is a FREE and open source painting tool designed for concept artists, illustrators, matte and texture artists, and the VFX industry. "
- id: "mypaint"
      package: "mypaint"
      name: "MyPaint Digital Paint"
      description: "MyPaint is a nimble, distraction-free, and easy tool for digital painters. It supports graphics tablets made by Wacom, and many similar devices. Its brush engine is versatile and configurable, and it provides useful, productive tools."
