# 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_<id>*. 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)
# or "optionalmultiple", "requiredmultiple" (for zero-or-more
# or one-or-more).
mode: required

# 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 id "".
#
labels:
    step: "Packages"
    step[nl]: "Pakketten"

# (Optional) '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 fields
# are 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,
#             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".
#
# Use the empty string "" as ID / key for the "no selection" item if
# you want to customize the display of that item as well.
#
# 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.
#
# 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: ""
      package: ""
      name: "No Desktop"
      name[nl]: "Geen desktop"
      description: "Please pick a desktop environment from the list. If you don't want to install a desktop, that's fine, your system will start up in text-only mode and you can install a desktop environment later."
      description[nl]: "Kies eventueel een desktop-omgeving uit deze lijst. Als u geen desktop-omgeving wenst te gebruiken, kies er dan geen. In dat geval start het systeem straks op in tekst-modus en kunt u later alsnog een desktop-omgeving installeren."
      screenshot: ":/images/no-selection.png"
    - id: kde
      package: kde
      name: Plasma Desktop
      description: "KDE Plasma Desktop, simple by default, a clean work area for real-world usage which intends to stay out of your way. Plasma is powerful when needed, enabling the user to create the workflow that makes them more effective to complete their tasks."
      screenshot: ":/images/kde.png"
    - id: gnome
      package: gnome
      name: GNOME
      description: GNU Networked Object Modeling Environment Desktop
      screenshot: ":/images/gnome.png"
    - id: calamares
      appdata: ../io.calamares.calamares.appdata.xml
      screenshot: ":/images/calamares.png"
    - id: kate
      appstream: org.kde.kwrite.desktop
