diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/finished.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/finished.conf index 688c064d2e92..f8cb2febd2b7 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/finished.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/finished.conf @@ -1,44 +1,4 @@ -# Configuration for the "finished" page, which is usually shown only at -# the end of the installation (successful or not). ---- -# DEPRECATED -# -# The finished page can hold a "restart system now" checkbox. -# If this is false, no checkbox is shown and the system is not restarted -# when Calamares exits. -# restartNowEnabled: true - -# DEPRECATED -# -# Initial state of the checkbox "restart now". Only relevant when the -# checkbox is shown by restartNowEnabled. -# restartNowChecked: false - -# Behavior of the "restart system now" button. -# -# There are four usable values: -# - never -# Does not show the button and does not restart. -# This matches the old behavior with restartNowEnabled=false. -# - user-unchecked -# Shows the button, defaults to unchecked, restarts if it is checked. -# This matches the old behavior with restartNowEnabled=true and restartNowChecked=false. -# - user-checked -# Shows the button, defaults to checked, restarts if it is checked. -# This matches the old behavior with restartNowEnabled=true and restartNowChecked=true. -# - always -# Shows the button, checked, but the user cannot change it. -# This is new behavior. -# -# The three combinations of legacy values are still supported. +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/finished/finished.conf restartNowMode: user-unchecked - -# If the checkbox is shown, and the checkbox is checked, then when -# Calamares exits from the finished-page it will run this command. -# If not set, falls back to "shutdown -r now". restartNowCommand: "systemctl -i reboot" - -# When the last page is (successfully) reached, send a DBus notification -# to the desktop that the installation is done. This works only if the -# user as whom Calamares is run, can reach the regular desktop session bus. notifyOnFinished: true diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/keyboard.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/keyboard.conf index a104fef0f60f..964a5cb93443 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/keyboard.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/keyboard.conf @@ -1,16 +1,7 @@ -# NOTE: you must have ckbcomp installed and runnable -# on the live system, for keyboard layout previews. ---- -# The name of the file to write X11 keyboard settings to -# The default value is the name used by upstream systemd-localed. -# Relative paths are assumed to be relative to /etc/X11/xorg.conf.d +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/keyboard/keyboard.conf xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf" +writeEtcDefaultKeyboard: false -# Write keymap configuration to /etc/default/keyboard, usually -# found on Debian-related systems. -# Defaults to true if nothing is set. -writeEtcDefaultKeyboard: false - +# Use special code path to configure GNOME keyboard settings configure: - # Configure keyboard when using Wayland with Gnome on Ubuntu 24.10+ gnome: true diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/locale.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/locale.conf index b2741a02cd48..aaa68181bd6e 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/locale.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/locale.conf @@ -1,97 +1,11 @@ ---- -# This settings are used to set your default system time zone. -# Time zones are usually located under /usr/share/zoneinfo and -# provided by the 'tzdata' package of your Distribution. -# -# Distributions using systemd can list available -# time zones by using the timedatectl command. -# timedatectl list-timezones -# -# The starting timezone (e.g. the pin-on-the-map) when entering -# the locale page can be set through keys *region* and *zone*. -# If either is not set, defaults to America/New_York. -# -region: "America" -zone: "New_York" +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/locale/locale.conf +useSystemTimezone: true +# Isn't supported on NixOS +adjustLiveTimezone: false -# System locales are detected in the following order: -# -# - /usr/share/i18n/SUPPORTED -# - localeGenPath (defaults to /etc/locale.gen if not set) -# - 'locale -a' output -# -# Enable only when your Distribution is using an -# custom path for locale.gen -# localeGenPath: @glibcLocales@/share/i18n/SUPPORTED -# GeoIP based Language settings: Leave commented out to disable GeoIP. -# -# GeoIP needs a working Internet connection. -# This can be managed from `welcome.conf` by adding -# internet to the list of required conditions. -# -# The configuration -# is in three parts: a *style*, which can be "json" or "xml" -# depending on the kind of data returned by the service, and -# a *url* where the data is retrieved, and an optional *selector* -# to pick the right field out of the returned data (e.g. field -# name in JSON or element name in XML). -# -# The default selector (when the setting is blank) is picked to -# work with existing JSON providers (which use "time_zone") and -# Ubiquity's XML providers (which use "TimeZone"). -# -# If the service configured via *url* uses -# a different attribute name (e.g. "timezone") in JSON or a -# different element tag (e.g. "") in XML, set this -# string to the name or tag to be used. -# -# In JSON: -# - if the string contains "." characters, this is used as a -# multi-level selector, e.g. "a.b" will select the timezone -# from data "{a: {b: "Europe/Amsterdam" } }". -# - each part of the string split by "." characters is used as -# a key into the JSON data. -# In XML: -# - all elements with the named tag (e.g. all TimeZone) elements -# from the document are checked; the first one with non-empty -# text value is used. -# -# -# An HTTP(S) request is made to *url*. The request should return -# valid data in a suitable format, depending on *style*; -# generally this includes a string value with the timezone -# in / format. For services that return data which -# does not follow the conventions of "suitable data" described -# below, *selector* may be used to pick different data. -# -# Note that this example URL works, but the service is shutting -# down in June 2018. -# -# Suitable JSON data looks like -# ``` -# {"time_zone":"America/New_York"} -# ``` -# Suitable XML data looks like -# ``` -# Europe/Brussels -# ``` -# -# To accommodate providers of GeoIP timezone data with peculiar timezone -# naming conventions, the following cleanups are performed automatically: -# - backslashes are removed -# - spaces are replaced with _ -# -# Legacy settings "geoipStyle", "geoipUrl" and "geoipSelector" -# in the top-level are still supported, but I'd advise against. -# -# To disable GeoIP checking, either comment-out the entire geoip section, -# or set the *style* key to an unsupported format (e.g. `none`). -# Also, note the analogous feature in src/modules/welcome/welcome.conf. -# geoip: - style: "json" - url: "https://geoip.kde.org/v1/calamares" - selector: "" # leave blank for the default + style: "json" + url: "https://geoip.kde.org/v1/calamares" diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf index 62952b0b7884..dad6c229df2b 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/mount.conf @@ -1,20 +1,4 @@ -# Mount filesystems in the target (generally, before treating the -# target as a usable chroot / "live" system). Filesystems are -# automatically mounted from the partitioning module. Filesystems -# listed here are **extra**. The filesystems listed in *extraMounts* -# are mounted in all target systems. ---- -# Extra filesystems to mount. The key's value is a list of entries; each -# entry has five keys: -# - device The device node to mount -# - fs (optional) The filesystem type to use -# - mountPoint Where to mount the filesystem -# - options (optional) An array of options to pass to mount -# - efi (optional) A boolean that when true is only mounted for UEFI installs -# -# The device is not mounted if the mountPoint is unset or if the fs is -# set to unformatted. -# +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/mount/mount.conf extraMounts: - device: proc fs: proc @@ -36,24 +20,8 @@ extraMounts: mountPoint: /sys/firmware/efi/efivars efi: true -# The mount options used to mount each filesystem. -# -# filesystem contains the name of the filesystem or on of three special -# values, "default", efi" and "btrfs_swap". The logic is applied in this manner: -# - If the partition is the EFI partition, the "efi" entry will be used -# - If the fs is btrfs and the subvolume is for the swapfile, -# the "btrfs_swap" entry is used -# - If the filesystem is an exact match for filesystem, that entry is used -# - If no match is found in the above, the default entry is used -# - If there is no match and no default entry, "defaults" is used -# - If the mountOptions key is not present, "defaults" is used -# -# Each filesystem entry contains 3 keys, all of which are optional -# options - An array of mount options that is used on all disk types -# ssdOptions - An array of mount options combined with options for ssds -# hddOptions - An array of mount options combined with options for hdds -# If combining these options results in an empty array, "defaults" is used -# +# Ensure the right fmask/dmask is set on the ESP, as it will be +# picked up by nixos-generate-config later mountOptions: - filesystem: efi options: [ fmask=0077, dmask=0077 ] diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/packagechooser.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/packagechooser.conf index 8dbebf61b6ee..343023a9af54 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/packagechooser.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/packagechooser.conf @@ -1,150 +1,15 @@ -# 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). +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/packagechooser/packagechooser.conf 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. +# FIXME: what's the correct way of doing this now? 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 diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf index 42d36f9476c3..3e067e8d2343 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/partition.conf @@ -1,297 +1,22 @@ -# Options for EFI system partition. -# -# - *mountPoint* -# This setting specifies the mount point of the EFI system partition. Some -# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS, -# etc.) use just /boot. -# -# Defaults to "/boot/efi", may be empty (but weird effects ensue) -# - *recommendedSize* -# This optional setting specifies the size of the EFI system partition. -# If nothing is specified, the default size of 300MiB will be used. -# When writing quantities here, M is treated as MiB, and if you really -# want one-million (10^6) bytes, use MB. -# - *minimumSize* -# This optional setting specifies the absolute minimum size of the EFI -# system partition. If nothing is specified, the *recommendedSize* -# is used instead. -# - *label* -# This optional setting specifies the name of the EFI system partition (see -# PARTLABEL; gpt only; requires KPMCore >= 4.2.0). -# If nothing is specified, the partition name is left unset. -# -# Going below the *recommended* size is allowed, but the user will -# get a warning that it might not work. Going below the *minimum* -# size is not allowed and the user will be told it will not work. -# -# Both quantities must be at least 32MiB, this is enforced by the EFI -# spec. If minimum is not specified, it defaults to the recommended -# size. Distro's that allow more user latitude can set the minimum lower. +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/partition/partition.conf efi: - mountPoint: "/boot" - recommendedSize: 1GiB - minimumSize: 32MiB - label: "EFI" + mountPoint: "/boot" + recommendedSize: 1GiB + minimumSize: 32MiB + label: "EFI" -# Deprecated alias of efi.mountPoint -# efiSystemPartition: "/boot/efi" - -# Deprecated alias of efi.recommendedSize -# efiSystemPartitionSize: 300MiB - -# Deprecated alias of efi.label -# efiSystemPartitionName: EFI - -# In autogenerated partitioning, allow the user to select a swap size? -# If there is exactly one choice, no UI is presented, and the user -# cannot make a choice -- this setting is used. If there is more than -# one choice, a UI is presented. -# -# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond -# to values of *userSwapChoices* as follows: -# - *neverCreateSwap* is true, means [none] -# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small] -# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend] -# -# Autogenerated swap sizes are as follows: -# - *suspend*: Swap is always at least total memory size, -# and up to 4GiB RAM follows the rule-of-thumb 2 * memory; -# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory -# swap is the size of main memory. -# - *small*: Follows the rules above, but Swap is at -# most 8GiB, and no more than 10% of available disk. -# In both cases, a fudge factor (usually 10% extra) is applied so that there -# is some space for administrative overhead (e.g. 8 GiB swap will allocate -# 8.8GiB on disk in the end). -# -# If *file* is enabled here, make sure to have the *fstab* module -# as well (later in the exec phase) so that the swap file is -# actually created. userSwapChoices: - - none # Create no swap, use no swap - - small # Up to 4GB - - suspend # At least main memory size - # - reuse # Re-use existing swap, but don't create any (unsupported right now) - # - file # To swap file instead of partition + - none + - small + - suspend -# This optional setting specifies the name of the swap partition (see -# PARTLABEL; gpt only; requires KPMCore >= 4.2.0). -# If nothing is specified, the partition name is left unset. -# swapPartitionName: swap - -# LEGACY SETTINGS (these will generate a warning) -# ensureSuspendToDisk: true -# neverCreateSwap: false - -# This setting specifies the LUKS generation (i.e LUKS1, LUKS2) used internally by -# cryptsetup when creating an encrypted partition. -# -# This option is set to luks1 by default, as grub doesn't support LUKS2 + Argon2id -# currently. On the other hand grub does support LUKS2 with PBKDF2 and could therefore be -# also set to luks2. Also there are some patches for grub and Argon2. -# See: https://aur.archlinux.org/packages/grub-improved-luks2-git -# -# Choices: luks1, luks2 (in addition, "luks" means "luks1") -# -# The default is luks1 -# luksGeneration: luks2 -# This setting determines if encryption should be allowed when using zfs. This -# setting has no effect unless zfs support is provided. -# -# This setting is to handle the fact that some bootloaders(such as grub) do not -# support zfs encryption. -# -# The default is true -# -# allowZfsEncryption: true +showNotEncryptedBootMessage: false -# Correctly draw nested (e.g. logical) partitions as such. -drawNestedPartitions: false - -# Show/hide partition labels on manual partitioning page. -alwaysShowPartitionLabels: true - -# Allow manual partitioning. -# -# When set to false, this option hides the "Manual partitioning" button, -# limiting the user's choice to "Erase", "Replace" or "Alongside". -# This can be useful when using a custom partition layout we don't want -# the user to modify. -# -# If nothing is specified, manual partitioning is enabled. -#allowManualPartitioning: true - -# Show not encrypted boot partition warning. -# -# When set to false, this option does not show the -# "Boot partition not encrypted" warning when encrypting the -# root partition but not /boot partition. -# -# If nothing is specified, the warning is shown. -showNotEncryptedBootMessage: false - -# Initial selection on the Choice page -# -# There are four radio buttons (in principle: erase, replace, alongside, manual), -# and you can pick which of them, if any, is initially selected. For most -# installers, "none" is the right choice: it makes the user pick something specific, -# rather than accidentally being able to click past an important choice (in particular, -# "erase" is a dangerous choice). -# -# The default is "none" -# -initialPartitioningChoice: none -# -# Similarly, some of the installation choices may offer a choice of swap; -# the available choices depend on *userSwapChoices*, above, and this -# setting can be used to pick a specific one. -# -# The default is "none" (no swap) if that is one of the enabled options, otherwise -# one of the items from the options. -initialSwapChoice: none - -# armInstall -# -# Leaves 16MB empty at the start of a drive when partitioning -# where usually the u-boot loader goes -# -# armInstall: false - -# Default partition table type, used when a "erase" disk is made. -# -# When erasing a disk, a new partition table is created on disk. -# In other cases, e.g. Replace and Alongside, as well as when using -# manual partitioning, this partition table exists already on disk -# and it is left unmodified. -# -# Suggested values: gpt, msdos -# If nothing is specified, Calamares defaults to "gpt" if system is -# efi or "msdos". -# -# Names are case-sensitive and defined by KPMCore. -# defaultPartitionTableType: msdos - -# Requirement for partition table type -# -# Restrict the installation on disks that match the type of partition -# tables that are specified. -# -# Possible values: msdos, gpt. Names are case-sensitive and defined by KPMCore. -# -# If nothing is specified, Calamares defaults to both "msdos" and "gpt". -# -# requiredPartitionTableType: gpt -# requiredPartitionTableType: -# - msdos -# - gpt - -# Default filesystem type, used when a "new" partition is made. -# -# When replacing a partition, the new filesystem type will be from the -# defaultFileSystemType value. In other cases, e.g. Erase and Alongside, -# as well as when using manual partitioning and creating a new -# partition, this filesystem type is pre-selected. Note that -# editing a partition in manual-creation mode will not automatically -# change the filesystem type to this default value -- it is not -# creating a new partition. -# -# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs -# If nothing is specified, Calamares defaults to "ext4". -# -# Names are case-sensitive and defined by KPMCore. -defaultFileSystemType: "ext4" - -# Selectable filesystem type, used when "erase" is done. -# -# When erasing the disk, the *defaultFileSystemType* is used (see -# above), but it is also possible to give users a choice: -# list suitable filesystems here. A drop-down is provided -# to pick which is the filesystems will be used. -# -# The value *defaultFileSystemType* is added to this list (with a warning) -# if not present; the default pick is the *defaultFileSystemType*. -# -# If not specified at all, uses *defaultFileSystemType* without a -# warning (this matches traditional no-choice-available behavior best). -# availableFileSystemTypes: ["ext4","f2fs"] - -# Show/hide LUKS related functionality in automated partitioning modes. -# Disable this if you choose not to deploy early unlocking support in GRUB2 -# and/or your distribution's initramfs solution. -# -# BIG FAT WARNING: -# -# This option is unsupported, as it cuts out a crucial security feature. -# Disabling LUKS and shipping Calamares without a correctly configured GRUB2 -# and initramfs is considered suboptimal use of the Calamares software. The -# Calamares team will not provide user support for any potential issue that -# may arise as a consequence of setting this option to false. -# It is strongly recommended that system integrators put in the work to support -# LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc. -# For more information on setting up GRUB2 for Calamares with LUKS, see -# https://github.com/calamares/calamares/wiki/Deploy-LUKS -# -# If nothing is specified, LUKS is enabled in automated modes. -#enableLuksAutomatedPartitioning: true - -# Partition layout. -# -# This optional setting specifies a custom partition layout. -# -# If nothing is specified, the default partition layout is a single partition -# for root that uses 100% of the space and uses the filesystem defined by -# defaultFileSystemType. -# -# Note: the EFI system partition is prepend automatically to the layout if -# needed; the swap partition is appended to the layout if enabled (small of -# suspend). -# -# Otherwise, the partition layout is defined as follow: -# partitionLayout: - name: "root" filesystem: "ext4" noEncrypt: false mountPoint: "/" size: 100% - -# -# There can be any number of partitions, each entry having the following attributes: -# - name: filesystem label -# and -# partition name (gpt only; since KPMCore 4.2.0) -# - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0) -# - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0) -# - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0) -# - filesystem: filesystem type (optional parameter) -# - if not set at all, treat as "unformatted" -# - if "unformatted", no filesystem will be created -# - if "unknown" (or an unknown FS name, like "elephant") then the -# default filesystem type, or the user's choice, will be applied instead -# of "unknown" (e.g. the user might pick ext4, or xfs). -# - noEncrypt: whether this partition is exempt from encryption if enabled (optional parameter; default is false) -# - mountPoint: partition mount point (optional parameter; not mounted if unset) -# - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB) -# or -# % of the available drive space if a '%' is appended to the value -# - minSize: minimum partition size (optional parameter) -# - maxSize: maximum partition size (optional parameter) -# - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0) -# name: boolean or integer or string - -# Checking for available storage -# -# This overlaps with the setting of the same name in the welcome module's -# requirements section. If nothing is set by the welcome module, this -# value is used instead. It is still a problem if there is no required -# size set at all, and the replace and resize options will not be offered -# if no required size is set. -# -# The value is in Gibibytes (GiB). -# -# BIG FAT WARNING: except for OEM-phase-0 use, you should be using -# the welcome module, **and** configure this value in -# `welcome.conf`, not here. -# requiredStorage: 3.5 diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/umount.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/umount.conf deleted file mode 100644 index f6e33ea6d51f..000000000000 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/umount.conf +++ /dev/null @@ -1,42 +0,0 @@ -### Umount Module -# -# This module represents the last part of the installation, the unmounting -# of partitions used for the install. It is also the last place where it -# is possible to copy files to the target system, thus the best place to -# copy an installation log. -# -# This module has two configuration keys: -# srcLog location in the live system where the log is -# destLog location in the target system to copy the log -# -# You can either use the default source path (which is -# `/root/.cache/calamares/session.log` ) to copy the regular log, -# or if you want to use the full output of `sudo calamares -d` you will need -# to redirect standard output, for instance in a launcher script or -# in the desktop file. -# -# Example launcher script: -# -# ``` -# #!/bin/sh -# sudo /usr/bin/calamares -d > installation.log -# ``` -# -# Example desktop line: -# -# ``` -# Exec=sudo /usr/bin/calamares -d > installation.log -# ``` -# -# If no source and destination are set, no copy is attempted. If the -# copy fails for some reason, a warning is printed but the installation -# does not fail. - ---- -# example when using the normal Calamares log: -srcLog: "/home/nixos/.cache/calamares/session.log" -destLog: "/var/log/Calamares.log" - -# example when using a log created by `sudo calamares -d`: -#srcLog: "/home/live/installation.log" -#destLog: "/var/log/installation.log" diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/users.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/users.conf index 4005d044f10d..f5f786ae67d8 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/users.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/users.conf @@ -1,263 +1,21 @@ -# -# Configuration for the one-user-system user module. -# -# Besides these settings, the users module also places the following -# keys into the Global Storage area, based on user input in the view step. -# -# - hostname -# - username -# - password (obscured) -# - autologinUser (if enabled, set to username) -# -# These Global Storage keys are set when the configuration for this module -# is read and when they are modified in the UI. ---- -### GROUPS CONFIGURATION -# -# The system has groups of uses. Some special groups must be -# created during installation. Optionally, there are special -# groups for users who can use sudo and for supporting autologin. - -# Used as default groups for the created user. -# Adjust to your Distribution defaults. -# -# Each entry in the *defaultGroups* list is either: -# - a string, naming a group; this is a **non**-system group -# which does not need to exist in the target system; if it -# does not exist, it will be created. -# - an entry with subkeys *name*, *must_exist* and *system*; -# if the group *must_exist* and does not, an error is thrown -# and the installation fails. -# -# The group is created if it does not exist, and it is -# created as a system group (GID < 1000) or user group -# (GID >= 1000) depending on the value of *system*. +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/users/users.conf defaultGroups: - users - networkmanager - wheel -# When *sudoersGroup* is set to a non-empty string, Calamares creates a -# sudoers file for the user. This file is located at: -# `/etc/sudoers.d/10-installer` -# Remember to add the (value of) *sudoersGroup* to *defaultGroups*. -# -# If your Distribution already sets up a group of sudoers in its packaging, -# remove this setting (delete or comment out the line below). Otherwise, -# the setting will be duplicated in the `/etc/sudoers.d/10-installer` file, -# potentially confusing users. -# sudoersGroup: wheel - -# Some Distributions require a 'autologin' group for the user. -# Autologin causes a user to become automatically logged in to -# the desktop environment on boot. -# Disable when your Distribution does not require such a group. -# autologinGroup: autologin - - -### ROOT AND SUDO -# -# Some distributions have a root user enabled for login. Others -# rely entirely on sudo or similar mechanisms to raise privileges. - -# If set to `false` (the default), writes a sudoers file with `ALL=(ALL)` -# so that commands can be run as any user. If set to `true`, writes -# `ALL=(ALL:ALL)` so that any user and any group can be chosen. -# sudoersConfigureWithGroup: false - -# Setting this to false, causes the root account to be disabled. -# When disabled, hides the "Use the same password for administrator" -# checkbox. Also hides the "Choose a password" and associated text-inputs. setRootPassword: true - -# You can control the initial state for the 'reuse password for root' -# checkbox here. Possible values are: -# - true to check or -# - false to uncheck -# -# When checked, the user password is used for the root account too. -# -# NOTE: *doReusePassword* requires *setRootPassword* to be enabled. doReusePassword: false +doAutologin: false - -### PASSWORDS AND LOGIN -# -# Autologin is convenient for single-user systems, but depends on -# the location of the machine if it is practical. "Password strength" -# measures measures might improve security by enforcing hard-to-guess -# passwords, or might encourage a post-it-under-the-keyboard approach. -# Distributions are free to steer their users to one kind of password -# or another. Weak(er) passwords may be allowed, may cause a warning, -# or may be forbidden entirely. - -# You can control the initial state for the 'autologin checkbox' here. -# Possible values are: -# - true to check or -# - false to uncheck -# These set the **initial** state of the checkbox. -doAutologin: false - -# These are optional password-requirements that a distro can enforce -# on the user. The values given in this sample file set only very weak -# validation settings. -# -# Calamares itself supports two checks: -# - minLength -# - maxLength -# In this sample file, the values are set to -1 which means "no -# minimum", "no maximum". This allows any password at all. -# No effort is done to ensure that the checks are consistent -# (e.g. specifying a maximum length less than the minimum length -# will annoy users). -# -# Calamares supports password checking through libpwquality. -# The libpwquality check relies on the (optional) libpwquality library. -# The value for libpwquality is a list of configuration statements like -# those found in pwquality.conf. The statements are handed off to the -# libpwquality parser for evaluation. The check is ignored if -# libpwquality is not available at build time (generates a warning in -# the log). The Calamares password check rejects passwords with a -# score of < 40 with the given libpwquality settings. -# -# (additional checks may be implemented in CheckPWQuality.cpp and -# wired into UsersPage.cpp) -# -# To disable all password validations: -# - comment out the relevant 'passwordRequirements' keys below, -# or set minLength and maxLength to -1. -# - disable libpwquality at build-time. -# To allow all passwords, but provide warnings: -# - set both 'allowWeakPasswords' and 'allowWeakPasswordsDefault' to true. -# (That will show the box *Allow weak passwords* in the user- -# interface, and check it by default). -# - configure password-checking however you wish. -# To require specific password characteristics: -# - set 'allowWeakPasswords' to false (the default) -# - configure password-checking, e.g. with NIST settings - - -# These are very weak -- actually, none at all -- requirements -passwordRequirements: - minLength: 1 # Password at least this many characters - maxLength: -1 # Password at most this many characters - libpwquality: - - minlen=0 - - minclass=0 - -# These are "you must have a password, any password" -- requirements -# -# passwordRequirements: -# minLength: 1 - -# These are requirements the try to follow the suggestions from -# https://pages.nist.gov/800-63-3/sp800-63b.html , "Digital Identity Guidelines". -# Note that requiring long and complex passwords has its own cost, -# because the user has to come up with one at install time. -# Setting 'allowWeakPasswords' to false and 'doAutologin' to false -# will require a strong password and prevent (graphical) login -# without the password. It is likely to be annoying for casual users. -# -# passwordRequirements: -# minLength: 8 -# maxLength: 64 -# libpwquality: -# - minlen=8 -# - maxrepeat=3 -# - maxsequence=3 -# - usersubstr=4 -# - badwords=linux - -# You can control the visibility of the 'strong passwords' checkbox here. -# Possible values are: -# - true to show or -# - false to hide (default) -# the checkbox. This checkbox allows the user to choose to disable -# password-strength-checks. By default the box is **hidden**, so -# that you have to pick a password that satisfies the checks. allowWeakPasswords: true -# You can control the initial state for the 'strong passwords' checkbox here. -# Possible values are: -# - true to uncheck or -# - false to check (default) -# the checkbox by default. Since the box is labeled to enforce strong -# passwords, in order to **allow** weak ones by default, the box needs -# to be unchecked. allowWeakPasswordsDefault: false - -# User settings -# -# The user can enter a username, but there are some other -# hidden settings for the user which are configurable in Calamares. -# -# Key *user* has the following sub-keys: -# -# - *shell* Shell to be used for the regular user of the target system. -# There are three possible kinds of settings: -# - unset (i.e. commented out, the default), act as if set to /bin/bash -# - empty (explicit), don't pass shell information to useradd at all -# and rely on a correct configuration file in /etc/default/useradd -# - set, non-empty, use that path as shell. No validation is done -# that the shell actually exists or is executable. -# - *forbidden_names* Login names that may not be used. This list always -# contains "root" and "nobody", but may be extended to list other special -# names for a given distro (eg. "video", or "mysql" might not be a valid -# end-user login name). user: shell: /run/current-system/sw/bin/bash forbidden_names: [ root ] - -# Hostname settings -# -# The user can enter a hostname; this is configured into the system -# in some way. There are settings for how a hostname is guessed (as -# a default / suggestion) and where (or how) the hostname is set in -# the target system. -# -# Key *hostname* has the following sub-keys: -# -# - *location* How the hostname is set in the target system: -# - *None*, to not set the hostname at all -# - *EtcFile*, to write to `/etc/hostname` directly -# - *Etc*, identical to above -# - *Hostnamed*, to use systemd hostnamed(1) over DBus -# - *Transient*, to remove `/etc/hostname` from the target -# The default is *EtcFile*. Setting this to *None* or *Transient* will -# hide the hostname field. -# - *writeHostsFile* Should /etc/hosts be written with a hostname for -# this machine (also adds localhost and some ipv6 standard entries). -# Defaults to *true*. -# - *template* Is a simple template for making a suggestion for the -# hostname, based on user data. The default is "${first}-${product}". -# This is used only if the hostname field is shown. KMacroExpander is -# used; write `${key}` where `key` is one of the following: -# - *first* User's first name (whatever is first in the User Name field, -# which is first-in-order but not necessarily a "first name" as in -# "given name" or "name by which you call someone"; beware of western bias) -# - *name* All the text in the User Name field. -# - *login* The login name (which may be suggested based on User Name) -# - *product* The hardware product, based on DMI data -# - *product2* The product as described by Qt -# - *cpu* CPU name -# - *host* Current hostname (which may be a transient hostname) -# Literal text in the template is preserved. Calamares tries to map -# `${key}` values to something that will fit in a hostname, but does not -# apply the same to literal text in the template. Do not use invalid -# characters in the literal text, or no suggeston will be done. -# - *forbidden_names* lists hostnames that may not be used. This list -# always contains "localhost", but may list others that are unsuitable -# or broken in special ways. hostname: location: None writeHostsFile: false forbidden_names: [ localhost ] - -presets: - fullName: - # value: "OEM User" - editable: true - loginName: - # value: "oem" - editable: true diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/welcome.conf b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/welcome.conf index 37ae2a6a8e94..5a72dd13a6a0 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/welcome.conf +++ b/pkgs/by-name/ca/calamares-nixos-extensions/src/config/modules/welcome.conf @@ -1,130 +1,20 @@ -# Configuration for the welcome module. The welcome page -# displays some information from the branding file. -# Which parts it displays can be configured through -# the show* variables. -# -# In addition to displaying the welcome page, this module -# can check requirements for installation. ---- -# Display settings for various buttons on the welcome page. -# The URLs themselves come from `branding.desc`. Each button -# is show if the corresponding *show* setting -# here is "true". If the setting is "false", the button is hidden. -# Empty or not-set is interpreted as "false". -# -# TODO:3.3 Remove the URL fallback here; URLs only in `branding.desc` -# -# The setting can also be a full URL which will then be used -# instead of the one from the branding file. -showSupportUrl: true -showKnownIssuesUrl: true -showReleaseNotesUrl: true -# TODO:3.3 Move to branding, keep only a bool here -# showDonateUrl: https://kde.org/community/donations/ +# https://codeberg.org/Calamares/calamares/src/branch/calamares/src/modules/welcome/welcome.conf +showReleaseNotesUrl: true -# Requirements checking. These are general, generic, things -# that are checked. They may not match with the actual requirements -# imposed by other modules in the system. requirements: - # Amount of available disk, in GiB. Floating-point is allowed here. - # Note that this does not account for *usable* disk, so it is possible - # to satisfy this requirement, yet have no space to install to. - requiredStorage: 10 + requiredStorage: 10 + requiredRam: 1.0 - # Amount of available RAM, in GiB. Floating-point is allowed here. - requiredRam: 1.0 - - # To check for internet connectivity, Calamares does a HTTP GET - # on this URL; on success (e.g. HTTP code 200) internet is OK. - # Use a privacy-respecting URL here, preferably in your distro's domain. - # - # The URL is only used if "internet" is in the *check* list below. internetCheckUrl: [ https://geoip.kde.org/v1/calamares, https://cache.nixos.org/ ] - # - # This may be a single URL, or a list or URLs, in which case the - # URLs will be checked one-by-one; if any of them returns data, - # internet is assumed to be OK. This can be used to check via - # a number of places, where some domains may be down or blocked. - # - # To use a list of URLs, just use YAML list syntax (e.g. - # - # internetCheckUrl: - # - http://www.kde.org - # - http://www.freebsd.org - # - # or short-form - # - # internetCheckUrl: [ http://www.kde.org, http://www.freebsd.org ] - # List conditions to check. Each listed condition will be - # probed in some way, and yields true or false according to - # the host system satisfying the condition. - # - # This sample file lists all the conditions that are known. - # - # Note that the last three checks are for testing-purposes only, - # and shouldn't be used in production (they are only available - # when building Calamares in development mode). There are five - # special checks: - # - *false* is a check that is always false (unsatisfied) - # - *true* is a check that is always true (satisfied) - # - *slow-false* takes 3 seconds, and then is false; use this one to - # show off the waiting-spinner before the first results come in - # - *slow-true* takes 3 seconds, and then is true - # - *snark* is a check that is only satisfied once it has been checked - # at least three times ("what I tell you three times is true"). - # Keep in mind that "true" and "false" are YAML keywords for - # boolean values, so should be quoted. check: - storage - ram - power - internet - screen - # List conditions that **must** be satisfied (from the list - # of conditions, above) for installation to proceed. - # If any of these conditions are not met, the user cannot - # continue past the welcome page. + required: - storage - ram - internet - -# GeoIP checking -# -# This can be used to pre-select a language based on the country -# the user is currently in. It *assumes* that there's internet -# connectivity, though. Configuration is like in the locale module, -# but remember to use a URL that returns full data **and** to -# use a selector that will pick the country, not the timezone. -# -# To disable GeoIP checking, either comment-out the entire geoip section, -# or set the *style* key to an unsupported format (e.g. `none`). -# Also, note the analogous feature in `src/modules/locale/locale.conf`, -# which is where you will find complete documentation. -# -# For testing, the *style* may be set to `fixed`, any URL that -# returns data (e.g. `http://example.com`) and then *selector* -# sets the data that is actually returned (e.g. "DE" to simulate -# the machine being in Germany). -# -# NOTE: the *selector* must pick the country code from the GeoIP -# data. Timezone, city, or other data will not be recognized. -# -# geoip: -# style: "none" -# url: "https://geoip.kde.org/v1/ubiquity" # extended XML format -# selector: "CountryCode" # blank uses default, which is wrong - -# User interface -# -# The "select language" icon is an international standard, but it -# might not theme very well with your desktop environment. -# Fill in an icon name (following FreeDesktop standards) to -# use that named icon instead of the usual one. -# -# Leave blank or unset to use the international standard. -# -# Known icons in this space are "set-language" and "config-language". -# -# languageIcon: set-language