# 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_*. 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. # # - "netinstall-select" # When this is set, the id(s) selected are passed to the netinstall module. # Any id that matches a group name in that module is set to checked # # - "netinstall-add" # With this method, the packagechooser module is used to add groups to the # netinstall module. For this to hav=e any effect. You must set netinstall, # which is described below. # # 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: "Desktop" # (Optional) item-*id* of pre-selected list-view item. # Pre-selects one of the items below. default: gnome # 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_*. 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". If the path # is not found (e.g. is a non-existent absolute path, or is a relative # path that does not exist in the current working directory) then # an additional attempt is made to load the image from the **branding** # directory. # # The following fields are **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). # # - *netinstall* : # The data in this field should follow the format of a group # from the netinstall module documented in # src/modules/netinstall/netinstall.conf. This is only used # when method is set to "netinstall-add" # # # 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: gnome packages: [ gnome ] name: GNOME description: "Every part of GNOME has been designed to make it simple and easy to use. It provides a focused working environment that helps you get things done. GNOME is a popular choice and well tested on NixOS.

Learn more at gnome.org" screenshot: "/run/current-system/sw/share/calamares/images/gnome.png" - id: plasma6 packages: [ plasma6 ] name: Plasma description: "Plasma is made to stay out of the way as it helps you get things done. But under its light and intuitive surface, it's a highly customizable. So you're free to choose ways of usage right as you need them and when you need them. Plasma is a popular choice and well tested on NixOS.

Learn more at kde.org/plasma-desktop" screenshot: "/run/current-system/sw/share/calamares/images/plasma6.png" - id: plasma5 packages: [ plasma5 ] name: Plasma 5 description: "A long term support version of Plasma. More mature than Plasma 6 currently, but less actively developed.

" screenshot: "/run/current-system/sw/share/calamares/images/plasma5.png" - id: xfce packages: [ xfce ] name: Xfce description: "Xfce is a lightweight desktop environment. It aims to be fast and low on system resources, while still being visually appealing and user friendly.

Learn more at xfce.org" screenshot: "/run/current-system/sw/share/calamares/images/xfce.png" - id: pantheon packages: [ pantheon ] name: Pantheon description: "Pantheon is the default desktop of Elementary OS. It provides a productive and intuitive user experience while also being visually appealing.

Learn more at elementary.io/docs/learning-the-basics" screenshot: "/run/current-system/sw/share/calamares/images/pantheon.png" - id: cinnamon packages: [ cinnamon ] name: Cinnamon description: "Cinnamon is a desktop which provides advanced innovative features and a traditional user experience. The emphasis is put on making users feel at home and providing them with an easy to use and comfortable desktop experience.

Learn more at projects.linuxmint.com/cinnamon" screenshot: "/run/current-system/sw/share/calamares/images/cinnamon.png" - id: mate packages: [ mate ] name: MATE description: "The MATE Desktop Environment is the continuation of GNOME 2. It provides an intuitive and attractive desktop environment.

Learn more at mate-desktop.org" screenshot: "/run/current-system/sw/share/calamares/images/mate.png" - id: enlightenment packages: [ enlightenment ] name: Enlightenment description: "Enlightenment is a Window Manager, Compositor and Minimal Desktop. Enlightenment is classed as a desktop shell as it provides everything you need to operate your desktop or laptop, but it is not a full application suite.

Learn more at enlightenment.org" screenshot: "/run/current-system/sw/share/calamares/images/enlightenment.png" - id: lxqt packages: [ lxqt ] name: LXQt description: "LXQt is a lightweight Qt desktop environment. It will not get in your way. It will not hang or slow down your system. It is focused on being a classic desktop with a modern look and feel.

Learn more at lxqt-project.org" screenshot: "/run/current-system/sw/share/calamares/images/lxqt.png" # Lumina is not yet stable enough, once it is, simply uncommenting the lines below is all that's needed to enable it as an option #- id: lumina # packages: [ lumina ] # name: Lumina # description: "Lumina is designed to have a small footprint, giving your system the best performance possible. It is built to flow seamlessly between computer tasks and offers several integrated utilities in one convenient package.
# - Learn more at lumina-desktop.org" # screenshot: "/run/current-system/sw/share/calamares/images/lumina.png" - id: budgie packages: [ budgie ] name: Budgie description: "The Budgie Desktop is a feature-rich, modern desktop designed to keep out the way of the user.

Learn more at buddiesofbudgie.org" screenshot: "/run/current-system/sw/share/calamares/images/budgie.png" - id: deepin packages: [ deepin ] name: Deepin description: "The Deepin Desktop Environment is an elegant, easy to use and reliable desktop environment.

Learn more at deepin.org" screenshot: "/run/current-system/sw/share/calamares/images/deepin.png" - id: "" packages: [] name: "No desktop" screenshot: "/run/current-system/sw/share/calamares/images/nodesktop.png" description: "A minimal system without a graphical user interface will be installed. This is great for servers or custom setups with window managers. The configuration can be changed after installation."