Initial upload of HyprArch releng configuration
This commit is contained in:
86
airootfs/usr/share/calamares/modules/bootloader.conf
Normal file
86
airootfs/usr/share/calamares/modules/bootloader.conf
Normal file
@@ -0,0 +1,86 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Bootloader configuration. The bootloader is installed to allow
|
||||
# the system to start (and pick one of the installed operating
|
||||
# systems to run).
|
||||
#
|
||||
# Take note that Debian-derivatives that use unmodified GRUB EFI packages
|
||||
# should specifically set *efiBootloaderId* to "debian" because that is
|
||||
# hard-coded in `grubx64.efi`.
|
||||
---
|
||||
# A variable from global storage which overrides the value of efiBootLoader
|
||||
#efiBootLoaderVar: "packagechooser_bootloader"
|
||||
|
||||
# Define which bootloader you want to use for EFI installations
|
||||
# Possible options are 'grub', 'sb-shim', 'refind` and 'systemd-boot'.
|
||||
efiBootLoader: "grub"
|
||||
|
||||
# systemd-boot configuration files settings
|
||||
|
||||
# kernelSearchPath is the path relative to the root of the install to search for kernels
|
||||
# A kernel is identified by finding files which match regular expression, kernelPattern
|
||||
kernelSearchPath: "/usr/lib/modules"
|
||||
kernelPattern: "^vmlinuz.*"
|
||||
|
||||
# loaderEntries is an array of options to add to loader.conf for systemd-boot
|
||||
# please note that the "default" option is added programmatically
|
||||
loaderEntries:
|
||||
- "timeout 5"
|
||||
- "console-mode keep"
|
||||
|
||||
# systemd-boot and refind support custom kernel params
|
||||
kernelParams: [ "quiet" ]
|
||||
|
||||
# A list of kernel names that refind should accept as kernels
|
||||
#refindKernelList: [ "linux","linux-lts","linux-zen","linux-hardened" ]
|
||||
|
||||
# GRUB 2 binary names and boot directory
|
||||
# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.
|
||||
# These names are also used when using sb-shim, since that needs some
|
||||
# GRUB functionality (notably grub-probe) to work. As needed, you may use
|
||||
# complete paths like `/usr/bin/efibootmgr` for the executables.
|
||||
#
|
||||
grubInstall: "grub-install"
|
||||
grubMkconfig: "grub-mkconfig"
|
||||
grubCfg: "/boot/grub/grub.cfg"
|
||||
grubProbe: "grub-probe"
|
||||
efiBootMgr: "efibootmgr"
|
||||
|
||||
# Optionally set the bootloader ID to use for EFI. This is passed to
|
||||
# grub-install --bootloader-id.
|
||||
#
|
||||
# If not set here, the value from bootloaderEntryName from branding.desc
|
||||
# is used, with problematic characters (space and slash) replaced.
|
||||
#
|
||||
# The ID is also used as a directory name within the EFI environment,
|
||||
# and the bootloader is copied from /boot/efi/EFI/<dirname>/ . When
|
||||
# setting the option here, keep in mind that the name is sanitized
|
||||
# (problematic characters, see above, are replaced).
|
||||
#
|
||||
# There are some special words possible at the end of *efiBootloaderId*:
|
||||
# ${SERIAL} can be used to obtain a uniquely-numbered suffix
|
||||
# that is added to the Id (yielding, e.g., `dirname1` or `dirname72`)
|
||||
# ${RANDOM} can be used to obtain a unique 4-digit hex suffix
|
||||
# ${PHRASE} can be used to obtain a unique 1-to-3-word suffix
|
||||
# from a dictionary of space-themed words
|
||||
# These words must be at the **end** of the *efiBootloaderId* value.
|
||||
# There must also be at most one of them. If there is none, no suffix-
|
||||
# processing is done and the *efiBootloaderId* is used unchanged.
|
||||
#
|
||||
# NOTE: Debian derivatives that use the unmodified Debian GRUB EFI
|
||||
# packages may need to set this to "debian" because that is
|
||||
# hard-coded in `grubx64.efi`.
|
||||
#
|
||||
# efiBootloaderId: "dirname"
|
||||
|
||||
# Optionally install a copy of the GRUB EFI bootloader as the EFI
|
||||
# fallback loader (either bootia32.efi or bootx64.efi depending on
|
||||
# the system). This may be needed on certain systems (Intel DH87MC
|
||||
# seems to be the only one). If you set this to false, take care
|
||||
# to add another module to optionally install the fallback on those
|
||||
# boards that need it.
|
||||
installEFIFallback: true
|
||||
|
||||
# Optionally install both BIOS and UEFI GRUB bootloaders.
|
||||
installHybridGRUB: false
|
||||
63
airootfs/usr/share/calamares/modules/contextualprocess.conf
Normal file
63
airootfs/usr/share/calamares/modules/contextualprocess.conf
Normal file
@@ -0,0 +1,63 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the contextual process job.
|
||||
#
|
||||
# Contextual processes are based on **global** configuration values.
|
||||
# When a given global value (string) equals a given value, then
|
||||
# the associated command is executed.
|
||||
#
|
||||
# Configuration consists of keys for global variable names (except
|
||||
# *dontChroot* and *timeout*), and the sub-keys are strings to compare
|
||||
# to the variable's value. If the variable has that particular value, the
|
||||
# corresponding value (script) is executed. The top-level keys *dontChroot*
|
||||
# and *timeout* are not global variable names. They have
|
||||
# meaning just like in shellprocess.conf, that is they
|
||||
# determine **where** the command runs and how long it has.
|
||||
#
|
||||
# The variable **may** contain dots, in which case the dot is used
|
||||
# to select into maps inside global storage, e.g.
|
||||
#
|
||||
# - *firmwareType* is a simple global name
|
||||
# - *branding.bootloader* is the *bootloader* value in the *branding* map
|
||||
#
|
||||
# Only a few global storage entries have well-defined sub-maps;
|
||||
# branding is one of them, and *filesystem_use* is another. Note that
|
||||
# variable names with dots **must** be quoted, or you will get a YAML error.
|
||||
#
|
||||
#
|
||||
# You can check for an empty value with "".
|
||||
#
|
||||
# As a special case, the value-check "*" matches any value, but **only**
|
||||
# if no other value-check matches. Use it as an *else* form for value-
|
||||
# checks. Take care to put the asterisk in quotes. The value-check "*"
|
||||
# **also** matches a literal asterisk as value; a confusing corner case
|
||||
# is checking for an asterisk **and** having a wildcard match with
|
||||
# different commands. This is currently not possible.
|
||||
#
|
||||
# Global configuration variables are not checked in a deterministic
|
||||
# order, so do not rely on commands from one variable-check to
|
||||
# always happen before (or after) checks on another
|
||||
# variable. Similarly, the value-equality checks are not
|
||||
# done in a deterministic order, but all of the value-checks
|
||||
# for a given variable happen together. As a special case, the
|
||||
# value-check for "*" (the *else* case) happens after all of the
|
||||
# other value-checks, and only matches if none of the others do.
|
||||
#
|
||||
# The values after a value sub-keys are the same kinds of values
|
||||
# as can be given to the *script* key in the shellprocess module.
|
||||
# See shellprocess.conf for documentation on valid values and how
|
||||
# variables are expanded in those commands.
|
||||
---
|
||||
dontChroot: false
|
||||
firmwareType:
|
||||
efi:
|
||||
- "-pkg remove efi-firmware"
|
||||
- command: "-mkinitramfsrd -abgn"
|
||||
timeout: 120 # This is slow
|
||||
bios: "-pkg remove bios-firmware"
|
||||
"": "/bin/false no-firmware-type-set"
|
||||
"*": "/bin/false some-other-firmware-value"
|
||||
"branding.shortVersion":
|
||||
"2020.2": "/bin/false february"
|
||||
"2019.4": "/bin/true april"
|
||||
80
airootfs/usr/share/calamares/modules/displaymanager.conf
Normal file
80
airootfs/usr/share/calamares/modules/displaymanager.conf
Normal file
@@ -0,0 +1,80 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configure one or more display managers (e.g. SDDM)
|
||||
# with a "best effort" approach.
|
||||
#
|
||||
# This module also sets up autologin, if the feature is enabled in
|
||||
# globalstorage (where it would come from the users page).
|
||||
---
|
||||
# The DM module attempts to set up all the DMs found in this list, in the
|
||||
# precise order listed. The displaymanagers list can also be set in
|
||||
# globalstorage, and in that case it overrides the setting here.
|
||||
#
|
||||
# If *sysconfigSetup* is set to *true* (see below, only relevant for
|
||||
# openSUSE derivatives) then this list is ignored and only sysconfig
|
||||
# is attempted. You can also list "sysconfig" in this list instead.
|
||||
#
|
||||
displaymanagers:
|
||||
- slim
|
||||
- sddm
|
||||
- lightdm
|
||||
- gdm
|
||||
- mdm
|
||||
- lxdm
|
||||
- greetd
|
||||
|
||||
# Enable the following settings to force a desktop environment
|
||||
# in your displaymanager configuration file. This will attempt
|
||||
# to configure the given DE (without checking if it is installed).
|
||||
# The DM configuration for each potential DM may **or may not**
|
||||
# support configuring a default DE, so the keys are mandatory
|
||||
# but their interpretation is up to the DM configuration.
|
||||
#
|
||||
# Subkeys of *defaultDesktopEnvironment* are (all mandatory):
|
||||
# - *executable* a full path to an executable
|
||||
# - *desktopFile* a .desktop filename
|
||||
#
|
||||
# If this is **not** set, then Calamares will look for installed
|
||||
# DE's and pick the first one it finds that is actually installed.
|
||||
#
|
||||
# If this **is** set, and the *executable* key doesn't point to
|
||||
# an installed file, then the .desktop file's TryExec key is
|
||||
# used instead.
|
||||
#
|
||||
|
||||
#defaultDesktopEnvironment:
|
||||
# executable: "startkde"
|
||||
# desktopFile: "plasma"
|
||||
|
||||
#If true, try to ensure that the user, group, /var directory etc. for the
|
||||
#display manager are set up correctly. This is normally done by the distribution
|
||||
#packages, and best left to them. Therefore, it is disabled by default.
|
||||
basicSetup: false
|
||||
|
||||
# If true, setup autologin for openSUSE. This only makes sense on openSUSE
|
||||
# derivatives or other systems where /etc/sysconfig/displaymanager exists.
|
||||
#
|
||||
# The preferred way to pick sysconfig is to just list it in the
|
||||
# *displaymanagers* list (as the only one).
|
||||
#
|
||||
sysconfigSetup: false
|
||||
|
||||
# Some DMs have specific settings. These can be customized here.
|
||||
#
|
||||
# greetd has configurable user and group; the user and group is created if it
|
||||
# does not exist, and the user is set as default-session user.
|
||||
#
|
||||
# Some greeters for greetd (e.g gtkgreet or regreet) have support for a user's GTK CSS style to change appearance.
|
||||
#
|
||||
# lightdm has a list of greeters to look for, preferring them in order if
|
||||
# they are installed (if not, picks the alphabetically first greeter that is installed).
|
||||
#
|
||||
greetd:
|
||||
greeter_user: "tom_bombadil"
|
||||
greeter_group: "wheel"
|
||||
greeter_css_location: "/etc/greetd/style.css"
|
||||
lightdm:
|
||||
preferred_greeters: ["lightdm-greeter.desktop", "slick-greeter.desktop"]
|
||||
sddm:
|
||||
configuration_file: "/etc/sddm.conf"
|
||||
47
airootfs/usr/share/calamares/modules/finished.conf
Normal file
47
airootfs/usr/share/calamares/modules/finished.conf
Normal file
@@ -0,0 +1,47 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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.
|
||||
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: false
|
||||
36
airootfs/usr/share/calamares/modules/finishedq.conf
Normal file
36
airootfs/usr/share/calamares/modules/finishedq.conf
Normal file
@@ -0,0 +1,36 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the "finishedq" page, which is usually shown only at
|
||||
# the end of the installation (successful or not).
|
||||
#
|
||||
# See the documentation for the "finished" module for a full explanation
|
||||
# of the configuration options; the description here applies primarily
|
||||
# to the use that the QML makes of them.
|
||||
---
|
||||
# Behavior of the "restart system now" button.
|
||||
#
|
||||
# The example QML for this module offers a "Restart Now" button,
|
||||
# which the user can click on. It calls directly to the restart
|
||||
# function. If the user closes the installer in some other way,
|
||||
# (the "Done" button or close-window) a restart **might** happen:
|
||||
#
|
||||
# - never
|
||||
# Do not restart (this will also block the "Restart Now" button,
|
||||
# so it is not very useful)
|
||||
# - user-unchecked
|
||||
# Do not restart on other ways of closing the window. No checkbox
|
||||
# is shown in the example QML, so there is no way for the user to
|
||||
# express a choice -- except by clicking the "Restart Now" button.
|
||||
# - user-checked
|
||||
# Do restart on other ways of closing the window. This makes close
|
||||
# and "Restart Now" do the same thing. No checkbox is shown by the QML,
|
||||
# so the machine will **always** restart.
|
||||
# - always
|
||||
# Same as above.
|
||||
#
|
||||
# For the **specific** example QML included with this module, only
|
||||
# *user-unchecked* really makes sense.
|
||||
restartNowMode: user-unchecked
|
||||
restartNowCommand: "systemctl -i reboot"
|
||||
notifyOnFinished: false
|
||||
52
airootfs/usr/share/calamares/modules/fsresizer.conf
Normal file
52
airootfs/usr/share/calamares/modules/fsresizer.conf
Normal file
@@ -0,0 +1,52 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Module that resizes a single FS to fill the entire (rest) of
|
||||
# a device. This is used in OEM situations where an image is
|
||||
# flashed onto an SD card (or similar) and used to boot a device,
|
||||
# after which the FS should expand to fill the SD card.
|
||||
#
|
||||
# Example: a distro produces a 6GiB large image that is
|
||||
# written to an 8GiB SD card; the FS should expand to take
|
||||
# advantage of the unused 2GiB. The FS should expand much
|
||||
# more if the same image is written to a 16GiB card.
|
||||
---
|
||||
|
||||
# Which FS needs to be grown? Choose one way to identify it:
|
||||
# - *fs* names a mount point which should already be mounted
|
||||
# in the system.
|
||||
# - *dev* names a device
|
||||
fs: /
|
||||
# dev: /dev/mmcblk0p1
|
||||
|
||||
# How much of the total remaining space should the FS use?
|
||||
# The only sensible amount is "all of it". The value is
|
||||
# in percent, so set it to 100. Perhaps a fixed size is
|
||||
# needed (that would be weird though, since you don't know
|
||||
# how big the card is), use MiB as suffix in that case.
|
||||
# If missing, then it's assumed to be 0, and no resizing
|
||||
# will happen.
|
||||
#
|
||||
# Percentages apply to **available space**.
|
||||
size: 100%
|
||||
|
||||
# Resizing might not be worth it, though. Set the minimum
|
||||
# that it must grow; if it cannot grow that much, the
|
||||
# resizing is skipped. Can be in percentage or absolute
|
||||
# size, as above. If missing, then it's assumed to be 0,
|
||||
# which means resizing is always worthwhile.
|
||||
#
|
||||
# If *atleast* is not zero, then the setting *required*,
|
||||
# below, becomes relevant.
|
||||
#
|
||||
# Percentages apply to **total device size**.
|
||||
#atleast: 1000MiB
|
||||
|
||||
# When *atleast* is not zero, then the resize may be
|
||||
# recommended (the default) or **required**. If the
|
||||
# resize is required and cannot be carried out (because
|
||||
# there's not enough space), then that is a fatal
|
||||
# error for the installer. By default, resize is only
|
||||
# recommended and it is not an error for no resize to be
|
||||
# carried out.
|
||||
required: false
|
||||
37
airootfs/usr/share/calamares/modules/fstab.conf
Normal file
37
airootfs/usr/share/calamares/modules/fstab.conf
Normal file
@@ -0,0 +1,37 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Creates /etc/fstab and /etc/crypttab in the target system.
|
||||
# Also creates mount points for all the filesystems.
|
||||
#
|
||||
# When creating fstab entries for a filesystem, this module
|
||||
# uses the options previously defined in the mount module
|
||||
---
|
||||
|
||||
# Additional options added to each line in /etc/crypttab
|
||||
crypttabOptions: luks
|
||||
# For Debian and Debian-based distributions, change the above line to:
|
||||
# crypttabOptions: luks,keyscript=/bin/cat
|
||||
|
||||
# Options for handling /tmp in /etc/fstab
|
||||
# Currently default (required) and ssd are supported
|
||||
# The corresponding string can contain the following variables:
|
||||
# tmpfs: true or tmpfs: false to either mount /tmp as tmpfs or not
|
||||
# options: "<mount options>"
|
||||
#
|
||||
# Example:
|
||||
#tmpOptions:
|
||||
# default:
|
||||
# tmpfs: false
|
||||
# options: ""
|
||||
# ssd:
|
||||
# tmpfs: true
|
||||
# options: "defaults,noatime,mode=1777"
|
||||
#
|
||||
tmpOptions:
|
||||
default:
|
||||
tmpfs: false
|
||||
options: ""
|
||||
ssd:
|
||||
tmpfs: true
|
||||
options: "defaults,noatime,mode=1777"
|
||||
51
airootfs/usr/share/calamares/modules/grubcfg.conf
Normal file
51
airootfs/usr/share/calamares/modules/grubcfg.conf
Normal file
@@ -0,0 +1,51 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Create, overwrite or update /etc/default/grub in the target system.
|
||||
#
|
||||
# Write lines to /etc/default/grub (in the target system) based
|
||||
# on calculated values and the values set in the *defaults* key
|
||||
# in this configuration file.
|
||||
#
|
||||
# Calculated values are:
|
||||
# - GRUB_DISTRIBUTOR, branding module, *bootloaderEntryName* (this
|
||||
# string is sanitized, and see also setting *keep_distributor*)
|
||||
# - GRUB_ENABLE_CRYPTODISK, based on the presence of filesystems
|
||||
# that use LUKS
|
||||
# - GRUB_CMDLINE_LINUX_DEFAULT, adding LUKS setup and plymouth
|
||||
# support to the kernel.
|
||||
|
||||
---
|
||||
# If set to true, always creates /etc/default/grub from scratch even if the file
|
||||
# already existed. If set to false, edits the existing file instead.
|
||||
overwrite: false
|
||||
|
||||
# If set to true, prefer to write files in /etc/default/grub.d/
|
||||
# rather than the single file /etc/default/grub. If this is set,
|
||||
# Calamares will write /etc/default/grub.d/00calamares.cfg instead.
|
||||
prefer_grub_d: false
|
||||
|
||||
# If set to true, an **existing** setting for GRUB_DISTRIBUTOR is
|
||||
# kept, not updated to the *bootloaderEntryName* from the branding file.
|
||||
# Use this if the GRUB_DISTRIBUTOR setting in the file is "smart" in
|
||||
# some way (e.g. uses shell-command substitution).
|
||||
keep_distributor: false
|
||||
|
||||
# The default kernel params that should always be applied.
|
||||
# This is an array of strings. If it is unset, the default is
|
||||
# `["quiet"]`. To avoid the default, explicitly set this key
|
||||
# to an empty list, `[]`.
|
||||
kernel_params: [ "quiet" ]
|
||||
|
||||
# Default entries to write to /etc/default/grub if it does not exist yet or if
|
||||
# we are overwriting it.
|
||||
#
|
||||
defaults:
|
||||
GRUB_TIMEOUT: 5
|
||||
GRUB_DEFAULT: "saved"
|
||||
GRUB_DISABLE_SUBMENU: true
|
||||
GRUB_TERMINAL_OUTPUT: "console"
|
||||
GRUB_DISABLE_RECOVERY: true
|
||||
|
||||
# Set to true to force defaults to be used even when not overwriting
|
||||
always_use_defaults: false
|
||||
26
airootfs/usr/share/calamares/modules/initcpio.conf
Normal file
26
airootfs/usr/share/calamares/modules/initcpio.conf
Normal file
@@ -0,0 +1,26 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Run mkinitcpio(8) with the given preset value
|
||||
---
|
||||
# This key defines the kernel to be loaded.
|
||||
# It can have the following values:
|
||||
# - the name of a single mkinitcpio preset
|
||||
# - empty or unset
|
||||
# - the literal string "all"
|
||||
#
|
||||
# If kernel is set to "all" or empty/unset then mkinitpio is called for all
|
||||
# kernels. Otherwise it is called with a single preset with the value
|
||||
# contained in kernel.
|
||||
#
|
||||
kernel: linux
|
||||
|
||||
# Set this to true to turn off mitigations for lax file
|
||||
# permissions on initramfs (which, in turn, can compromise
|
||||
# your LUKS encryption keys, CVS-2019-13179).
|
||||
#
|
||||
# If your initramfs are stored in the EFI partition or another non-POSIX
|
||||
# filesystem, this has no effect as the file permissions cannot be changed.
|
||||
# In this case, ensure the partition is mounted securely.
|
||||
#
|
||||
be_unsafe: false
|
||||
38
airootfs/usr/share/calamares/modules/initcpiocfg.conf
Normal file
38
airootfs/usr/share/calamares/modules/initcpiocfg.conf
Normal file
@@ -0,0 +1,38 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# The initcpiocfg module is responsible for the configuration of mkinitcpio.conf. Typically this
|
||||
# module is used in conjunction with the initcpio module to generate the boot image when using mkinitcpio
|
||||
---
|
||||
#
|
||||
# Determines if the systemd versions of the hooks should be used. This is false by default.
|
||||
#
|
||||
# Please note that using the systemd hooks result in no access to the emergency recovery shell
|
||||
useSystemdHook: false
|
||||
|
||||
#
|
||||
# Modifications to the standard list of hooks.
|
||||
#
|
||||
# There are three subkeys:
|
||||
# - prepend, which puts hooks at the beginning of the
|
||||
# list of hooks, in the order specified here,
|
||||
# - append, which adds hooks at the end of the list of
|
||||
# hooks, in the order specified here,
|
||||
# - remove, which removes hooks from the list of hooks,
|
||||
# wherever they may be.
|
||||
#
|
||||
# The example configuration here yields bogus, <stuff>, bogus
|
||||
# initially, and then removes that hook again.
|
||||
#
|
||||
hooks:
|
||||
prepend: [ bogus ]
|
||||
append: [ bogus ]
|
||||
remove: [ bogus ]
|
||||
|
||||
#
|
||||
# In some cases, you may want to use a different source
|
||||
# file than /etc/mkinitcpio.conf , e.g. because the live system
|
||||
# does not match the target in a useful way. If unset or
|
||||
# empty, defaults to /etc/mkinitcpio.conf
|
||||
#
|
||||
source: "/etc/mkinitcpio.conf"
|
||||
26
airootfs/usr/share/calamares/modules/initramfs.conf
Normal file
26
airootfs/usr/share/calamares/modules/initramfs.conf
Normal file
@@ -0,0 +1,26 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Run mkinitcpio(8) with the given preset value
|
||||
---
|
||||
# This key defines the kernel to be loaded.
|
||||
# It can have the following values:
|
||||
# - the name of a single mkinitcpio preset
|
||||
# - empty or unset
|
||||
# - the literal string "all"
|
||||
#
|
||||
# If kernel is set to "all" or empty/unset then mkinitpio is called for all
|
||||
# kernels. Otherwise it is called with a single preset with the value
|
||||
# contained in kernel.
|
||||
#
|
||||
kernel: linux
|
||||
|
||||
# Set this to true to turn off mitigations for lax file
|
||||
# permissions on initramfs (which, in turn, can compromise
|
||||
# your LUKS encryption keys, CVS-2019-13179).
|
||||
#
|
||||
# If your initramfs are stored in the EFI partition or another non-POSIX
|
||||
# filesystem, this has no effect as the file permissions cannot be changed.
|
||||
# In this case, ensure the partition is mounted securely.
|
||||
#
|
||||
be_unsafe: false
|
||||
47
airootfs/usr/share/calamares/modules/keyboard.conf
Normal file
47
airootfs/usr/share/calamares/modules/keyboard.conf
Normal file
@@ -0,0 +1,47 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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
|
||||
xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf"
|
||||
|
||||
# The path to search for keymaps converted from X11 to kbd format.
|
||||
# Common paths for this are:
|
||||
# - /lib/kbd/keymaps/xkb
|
||||
# - /usr/share/kbd/keymaps/xkb
|
||||
# Leave this empty if the setting does not make sense on your distribution.
|
||||
#
|
||||
convertedKeymapPath: "/lib/kbd/keymaps/xkb"
|
||||
|
||||
# Write keymap configuration to /etc/default/keyboard, usually
|
||||
# found on Debian-related systems.
|
||||
# Defaults to true if nothing is set.
|
||||
#writeEtcDefaultKeyboard: true
|
||||
|
||||
# Use the Locale1 service instead of directly managing configuration files.
|
||||
# This is the modern mechanism for configuring the systemwide keyboard layout,
|
||||
# and works on Wayland compositors to set the current layout.
|
||||
# Defaults to false on X11 and true otherwise.
|
||||
#useLocale1: true
|
||||
|
||||
# Guess the default layout from the user locale. If false, keeps the current
|
||||
# OS keyboard layout as the default (useful if the layout is pre-configured).
|
||||
#guessLayout: true
|
||||
|
||||
# Things that should be configured.
|
||||
configure:
|
||||
# Configure KWin (KDE Plasma) directly by editing the
|
||||
# configuration file and informing KWin over DBus. This is
|
||||
# useful in a system that uses Wayland but does **not** connect
|
||||
# locale1 with KWin.
|
||||
#
|
||||
# Systems that use KDE Plasma Wayland and locale1 can instead start the
|
||||
# compositor KWin with command-line argument `--locale1`. That
|
||||
# argument makes this configuration option unnecessary.
|
||||
kwin: false
|
||||
# Configure keyboard when using Wayland with Gnome on Ubuntu 24.10+
|
||||
gnome: false
|
||||
19
airootfs/usr/share/calamares/modules/keyboardq.conf
Normal file
19
airootfs/usr/share/calamares/modules/keyboardq.conf
Normal file
@@ -0,0 +1,19 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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
|
||||
xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf"
|
||||
|
||||
# The path to search for keymaps converted from X11 to kbd format
|
||||
# Leave this empty if the setting does not make sense on your distribution.
|
||||
convertedKeymapPath: "/lib/kbd/keymaps/xkb"
|
||||
|
||||
# Write keymap configuration to /etc/default/keyboard, usually
|
||||
# found on Debian-related systems.
|
||||
# Defaults to true if nothing is set.
|
||||
#writeEtcDefaultKeyboard: true
|
||||
53
airootfs/usr/share/calamares/modules/license.conf
Normal file
53
airootfs/usr/share/calamares/modules/license.conf
Normal file
@@ -0,0 +1,53 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration file for License viewmodule, Calamares
|
||||
# Syntax is YAML 1.2
|
||||
---
|
||||
# Define a list of licenses which may / must be accepted before continuing.
|
||||
#
|
||||
# Each entry in this list has the following keys:
|
||||
# - id Entry identifier, must be unique. Not user visible. YAML: string.
|
||||
# - name Pretty name for the software product, user visible and untranslatable. YAML: string.
|
||||
# - vendor Pretty name for the software vendor, user visible and untranslatable. YAML: string, optional, default is empty.
|
||||
# - type Package type identifier for presentation, not user visible but affects user visible strings. YAML: string.
|
||||
# values: driver, gpudriver, browserplugin, codec, package, software; optional, default is software.
|
||||
# - required If set to true, the user cannot proceed without accepting this license. YAML: boolean, optional, default is false.
|
||||
# - url A URL for the license; a remote URL is not shown in Calamares, but a link
|
||||
# to the URL is provided, which opens in the default web browser. A local
|
||||
# URL (i.e. file:///) assumes that the contents are HTML or plain text, and
|
||||
# displays the license in-line. YAML: string, mandatory.
|
||||
# - expand A boolean value only relevant for **local** URLs. If true,
|
||||
# the license text is displayed in "expanded" form by
|
||||
# default, rather than requiring the user to first open it up.
|
||||
# YAML: boolean, optional, default is false.
|
||||
entries:
|
||||
- id: nvidia
|
||||
name: Nvidia
|
||||
vendor: Nvidia Corporation
|
||||
type: driver
|
||||
url: http://developer.download.nvidia.com/cg/Cg_3.0/license.pdf
|
||||
required: false
|
||||
- id: amd
|
||||
name: Catalyst
|
||||
vendor: "Advanced Micro Devices, Inc."
|
||||
type: gpudriver
|
||||
url: http://support.amd.com/en-us/download/eula
|
||||
required: false
|
||||
- id: flashplugin
|
||||
name: Adobe Flash
|
||||
vendor: Adobe Systems Incorporated
|
||||
type: browserplugin
|
||||
url: http://www.adobe.com/products/eulas/pdfs/PlatformClients_PC_WWEULA_Combined_20100108_1657.pdf
|
||||
required: true
|
||||
# This example uses a file: link. This example uses a relative link, which
|
||||
# is relative to where you run Calamares. Assuming you run it from build/
|
||||
# as part of your testing, you'll get the LICENSE text for Calamares
|
||||
# (which is the text of the GPLv3, not proprietary at all).
|
||||
- id: mine_mine
|
||||
name: Calamares Proprietary License
|
||||
vendor: Calamares, Inc.
|
||||
type: software
|
||||
required: true
|
||||
url: file:../LICENSE
|
||||
expand: true
|
||||
131
airootfs/usr/share/calamares/modules/locale.conf
Normal file
131
airootfs/usr/share/calamares/modules/locale.conf
Normal file
@@ -0,0 +1,131 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
---
|
||||
# These 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.
|
||||
#
|
||||
# Note that useSystemTimezone and GeoIP settings can change the
|
||||
# starting time zone.
|
||||
#
|
||||
region: "America"
|
||||
zone: "New_York"
|
||||
|
||||
# Instead of using *region* and *zone* specified above,
|
||||
# you can use the system's notion of the timezone, instead.
|
||||
# This can help if your system is automatically configured with
|
||||
# a sensible TZ rather than chasing a fixed default.
|
||||
#
|
||||
# The default is false.
|
||||
#
|
||||
# useSystemTimezone: true
|
||||
|
||||
# Should changing the system location (e.g. clicking around on the timezone
|
||||
# map) immediately reflect the changed timezone in the live system?
|
||||
# By default, installers (with a target system) do, and setup (e.g. OEM
|
||||
# configuration) does not, but you can switch it on here (or off, if
|
||||
# you think it's annoying in the installer).
|
||||
#
|
||||
# Note that not all systems support live adjustment.
|
||||
#
|
||||
# adjustLiveTimezone: true
|
||||
|
||||
# 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 a
|
||||
# custom path for locale.gen
|
||||
#
|
||||
#localeGenPath: "/etc/locale.gen"
|
||||
|
||||
# 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 welcome
|
||||
# module can also do its own GeoIP lookups, independently
|
||||
# of the lookup done here. The lookup in the welcome module
|
||||
# is used to establish language; this one is for timezone).
|
||||
#
|
||||
# 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. "<Time_Zone>") in XML, set the
|
||||
# selector 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.
|
||||
# Special case:
|
||||
# - the *style* "fixed" is also supported. This ignores the data
|
||||
# returned from the URL (but the URL must still be valid!)
|
||||
# and just returns the value of the *selector*.
|
||||
#
|
||||
# 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 <region>/<zone> 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.
|
||||
#
|
||||
# Suitable JSON data looks like
|
||||
# ```
|
||||
# {"time_zone":"America/New_York"}
|
||||
# ```
|
||||
# Suitable XML data looks like
|
||||
# ```
|
||||
# <Response><TimeZone>Europe/Brussels</TimeZone></Response>
|
||||
# ```
|
||||
#
|
||||
# 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 _
|
||||
#
|
||||
# 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
|
||||
|
||||
# For testing purposes, you could use *fixed* style, to see how Calamares
|
||||
# behaves in a particular zone:
|
||||
#
|
||||
# geoip:
|
||||
# style: "fixed"
|
||||
# url: "https://geoip.kde.org/v1/calamares" # Still needs to be valid!
|
||||
# selector: "America/Vancouver" # this is the selected zone
|
||||
#
|
||||
100
airootfs/usr/share/calamares/modules/localeq.conf
Normal file
100
airootfs/usr/share/calamares/modules/localeq.conf
Normal file
@@ -0,0 +1,100 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
---
|
||||
# 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"
|
||||
|
||||
|
||||
# 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: "PATH_TO/locale.gen"
|
||||
|
||||
# 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. "<Time_Zone>") 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 <region>/<zone> 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
|
||||
# ```
|
||||
# <Response><TimeZone>Europe/Brussels</TimeZone></Response>
|
||||
# ```
|
||||
#
|
||||
# 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
|
||||
14
airootfs/usr/share/calamares/modules/luksbootkeyfile.conf
Normal file
14
airootfs/usr/share/calamares/modules/luksbootkeyfile.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Luksbootkeyfile configuration. A key file is created for the
|
||||
# LUKS encrypted devices.
|
||||
---
|
||||
# Set Password-Based Key Derivation Function (PBKDF) algorithm
|
||||
# for LUKS keyslot.
|
||||
#
|
||||
# There are three usable specific values: pbkdf2, argon2i or argon2id.
|
||||
# There is one value equivalent to not setting it: default
|
||||
#
|
||||
# When not set (or explicitly set to "default"), the cryptsetup default is used
|
||||
luks2Hash: default
|
||||
@@ -0,0 +1,7 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Writes an openswap configuration with LUKS settings to the given path
|
||||
---
|
||||
# Path of the configuration file to write (in the target system)
|
||||
configFilePath: /etc/openswap.conf
|
||||
56
airootfs/usr/share/calamares/modules/machineid.conf
Normal file
56
airootfs/usr/share/calamares/modules/machineid.conf
Normal file
@@ -0,0 +1,56 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Machine-ID and other random data on the target system.
|
||||
#
|
||||
# This module can create a number of "random" things on the target:
|
||||
# - a systemd machine-id file (hence the name of the Calamares module)
|
||||
# with a random UUID.
|
||||
# - a dbus machine-id file (or, optionally, link to the one from systemd)
|
||||
# - an entropy file
|
||||
#
|
||||
---
|
||||
# Whether to create /etc/machine-id for systemd.
|
||||
# The default is *false*.
|
||||
systemd: true
|
||||
# If systemd is true, the kind of /etc/machine-id to create in the target
|
||||
# - uuid (default) generates a UUID
|
||||
# - systemd alias of uuid
|
||||
# - blank creates the file but leaves it empty at 0 bytes
|
||||
# - none alias of blank (use `systemd: false` if you don't want one at all)
|
||||
# - literal-uninitialized creates the file and writes the string "uninitialized\n"
|
||||
systemd-style: uuid
|
||||
|
||||
# Whether to create /var/lib/dbus/machine-id for D-Bus.
|
||||
# The default is *false*.
|
||||
dbus: true
|
||||
# Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id
|
||||
# (ignored if dbus is false, or if there is no /etc/machine-id to point to).
|
||||
# The default is *false*.
|
||||
dbus-symlink: true
|
||||
|
||||
# Copy entropy from the host? If this is set to *true*, then
|
||||
# any entropy file listed below will be copied from the host
|
||||
# if it exists. Non-existent files will be generated from
|
||||
# /dev/urandom . The default is *false*.
|
||||
entropy-copy: false
|
||||
# Which files to write (paths in the target). Each of these files is
|
||||
# either generated from /dev/urandom or copied from the host, depending
|
||||
# on the setting for *entropy-copy*, above.
|
||||
entropy-files:
|
||||
- /var/lib/urandom/random-seed
|
||||
- /var/lib/systemd/random-seed
|
||||
|
||||
# Whether to create an entropy file /var/lib/urandom/random-seed
|
||||
#
|
||||
# DEPRECATED: list the file in entropy-files instead. If this key
|
||||
# exists and is set to *true*, a warning is printed and Calamares
|
||||
# behaves as if `/var/lib/urandom/random-seed` is listed in *entropy-files*.
|
||||
#
|
||||
# entropy: false
|
||||
|
||||
# Whether to create a symlink for D-Bus
|
||||
#
|
||||
# DEPRECATED: set *dbus-symlink* with the same meaning instead.
|
||||
#
|
||||
# symlink: false
|
||||
125
airootfs/usr/share/calamares/modules/mount.conf
Normal file
125
airootfs/usr/share/calamares/modules/mount.conf
Normal file
@@ -0,0 +1,125 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
extraMounts:
|
||||
- device: proc
|
||||
fs: proc
|
||||
mountPoint: /proc
|
||||
- device: sys
|
||||
fs: sysfs
|
||||
mountPoint: /sys
|
||||
- device: /dev
|
||||
mountPoint: /dev
|
||||
options: [ bind ]
|
||||
- device: tmpfs
|
||||
fs: tmpfs
|
||||
mountPoint: /run
|
||||
- device: /run/udev
|
||||
mountPoint: /run/udev
|
||||
options: [ bind ]
|
||||
- device: efivarfs
|
||||
fs: efivarfs
|
||||
mountPoint: /sys/firmware/efi/efivars
|
||||
efi: true
|
||||
|
||||
# Btrfs subvolumes to create if root filesystem is on btrfs volume.
|
||||
# If *mountpoint* is mounted already to another partition, it is ignored.
|
||||
# Separate subvolume for swapfile is handled separately and automatically.
|
||||
#
|
||||
# It is possible to prevent subvolume creation -- this is likely only relevant
|
||||
# for the root (/) subvolume -- by giving an empty string as a subvolume
|
||||
# name. In this case no subvolume will be created.
|
||||
#
|
||||
btrfsSubvolumes:
|
||||
- mountPoint: /
|
||||
subvolume: /@
|
||||
# As an alternative:
|
||||
#
|
||||
# subvolume: ""
|
||||
- mountPoint: /home
|
||||
subvolume: /@home
|
||||
- mountPoint: /var/cache
|
||||
subvolume: /@cache
|
||||
- mountPoint: /var/log
|
||||
subvolume: /@log
|
||||
|
||||
# The name of the btrfs subvolume holding the swapfile. This only used when
|
||||
# a swapfile is selected and the root filesystem is btrfs
|
||||
#
|
||||
btrfsSwapSubvol: /@swap
|
||||
|
||||
# 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
|
||||
#
|
||||
# Example 1
|
||||
# In this example, there are specific options for ext4 and btrfs filesystems,
|
||||
# the EFI partition and the subvolume holding the btrfs swapfile. All other
|
||||
# filesystems use the default entry. For the btrfs filesystem, there are
|
||||
# additional options specific to hdds and ssds
|
||||
#
|
||||
# mountOptions:
|
||||
# - filesystem: default
|
||||
# options: [ defaults ]
|
||||
# - filesystem: efi
|
||||
# options: [ defaults, umask=0077 ]
|
||||
# - filesystem: ext4
|
||||
# options: [ defaults ]
|
||||
# - filesystem: btrfs
|
||||
# options: [ defaults, compress=zstd:1 ]
|
||||
# ssdOptions: [ discard=async ]
|
||||
# hddOptions: [ autodefrag ]
|
||||
# - filesystem: btrfs_swap
|
||||
# options: [ defaults, noatime ]
|
||||
#
|
||||
# Example 2
|
||||
# In this example there is a single default used by all filesystems
|
||||
#
|
||||
# mountOptions:
|
||||
# - filesystem: default
|
||||
# options: [ defaults ]
|
||||
#
|
||||
mountOptions:
|
||||
- filesystem: default
|
||||
options: [ defaults ]
|
||||
- filesystem: efi
|
||||
options: [ defaults, umask=0077 ]
|
||||
- filesystem: btrfs
|
||||
options: [ defaults, compress=zstd:1 ]
|
||||
- filesystem: btrfs_swap
|
||||
options: [ defaults, noatime ]
|
||||
|
||||
|
||||
|
||||
|
||||
347
airootfs/usr/share/calamares/modules/netinstall.conf
Normal file
347
airootfs/usr/share/calamares/modules/netinstall.conf
Normal file
@@ -0,0 +1,347 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
### Netinstall module
|
||||
#
|
||||
# The netinstall module allows distribution maintainers to ship minimal ISOs
|
||||
# with only a basic set of preinstalled packages. At installation time, the
|
||||
# user is presented with the choice to install groups of packages from a
|
||||
# predefined list.
|
||||
#
|
||||
# Calamares will then use the *packages* module to install the packages.
|
||||
# Without a *packages* module in the exec phase somewhere **after**
|
||||
# this netinstall, nothing will actually get installed. The packages
|
||||
# module must be correctly configured **and** the package manager must
|
||||
# be runnable from within the installed system at the point where it
|
||||
# is invoked, otherwise you'll get nothing.
|
||||
#
|
||||
# There are two basic deployment schemes:
|
||||
# - static package lists; the packages do not change for this release.
|
||||
# In this case, the package list file may be on the ISO-image itself
|
||||
# as a separate file, **or** included in this configuration file.
|
||||
# Either will do; separate file is easier to update independently
|
||||
# of the Calamares configuration, while merged configurations use
|
||||
# fewer files overall and are closer to self-documenting.
|
||||
# - online package lists; the package list is fetched from a remote
|
||||
# URL and handled otherwise like a static list. This can be useful
|
||||
# if the package list needs updating during the lifetime of an ISO-
|
||||
# image, e.g. packages are added or renamed.
|
||||
#
|
||||
# There is only one required key for this module, *groupsUrl*.
|
||||
#
|
||||
# This module supports multiple instances through the *label* key,
|
||||
# which allows you to distinguish them in the UI.
|
||||
---
|
||||
# The *groupsUrl* determines where the data for the netinstall groups-and-
|
||||
# packages comes from. The value of the key may be:
|
||||
#
|
||||
# - a single string (this is treated as a list with just that string in it)
|
||||
# - a list of strings
|
||||
#
|
||||
# Each string is treated as a URL (see below for special cases. The
|
||||
# list is examined **in order** and each URL is tried in turn. The
|
||||
# first URL to load successfully -- even if it yields 0 packages --
|
||||
# ends the process. This allows using a network URL and a (fallback)
|
||||
# local URL for package lists, or for using multiple mirrors of
|
||||
# netinstall data.
|
||||
#
|
||||
# The URL must point to a YAML file that follows the format described
|
||||
# below at the key *groups* -- except for the special case URL "local".
|
||||
# Note that the contents of the groups file is the **important**
|
||||
# part of the configuration of this module. It specifies what
|
||||
# groups and packages the user may select (and so what commands are to
|
||||
# be run to install them).
|
||||
#
|
||||
# The format of the groups file is the same as the format of the
|
||||
# *groups* key described below, **except** that a stand-alone
|
||||
# groups file does not have to have the top-level *groups* key.
|
||||
# (It **may** have one, though, for instance when you copy
|
||||
# this configuration file to `netinstall.yaml` and key *groups*
|
||||
# must have a list-of-groups as value; if the file does not have
|
||||
# a top-level key *groups*, then the file must contain only a list of groups.
|
||||
#
|
||||
# Each item in the list *groupsUrl* may be:
|
||||
# - A remote URL like `http://example.org/netinstall.php`
|
||||
# - A local file URL like `file:///usr/share/calamares/netinstall.yaml`
|
||||
# - The special-case literal string `local`
|
||||
#
|
||||
# Non-special case URLs are loaded as YAML; if the load succeeds, then
|
||||
# they are interpreted like the *groups* key below. The special case
|
||||
# `local` loads the data directly from **this** file.
|
||||
#
|
||||
groupsUrl: local
|
||||
|
||||
# Alternate form:
|
||||
# groupsUrl: [ local ]
|
||||
|
||||
# Net-based package list, with fallback to local file
|
||||
# groupsUrl:
|
||||
# - http://example.com/calamares/netinstall.yaml
|
||||
# - file:///etc/calamares/modules/netinstall.yaml
|
||||
|
||||
|
||||
|
||||
# If the installation can proceed without netinstall (e.g. the Live CD
|
||||
# can create a working installed system, but netinstall is preferred
|
||||
# to bring it up-to-date or extend functionality) leave this set to
|
||||
# false (the default). If set to true, the netinstall data is required.
|
||||
#
|
||||
# This only has an effect if the netinstall data cannot be retrieved,
|
||||
# or is corrupt: having "required" set, means the install cannot proceed.
|
||||
# For local or file: type *groupsUrl* settings, this setting is not
|
||||
# really meaningful.
|
||||
required: false
|
||||
|
||||
# To support multiple instances of this module,
|
||||
# some strings are configurable and translatable here.
|
||||
# Sub-keys under *label* are used for the user interface.
|
||||
# - *sidebar* This is the name of the module in the progress-tree / sidebar
|
||||
# in Calamares.
|
||||
# - *title* This is displayed above the list of packages.
|
||||
# If no *sidebar* values are provided, defaults to "Package selection"
|
||||
# and existing translations. If no *title* values are provided, no string
|
||||
# is displayed.
|
||||
#
|
||||
# Translations are handled through `[ll]` notation, much like in
|
||||
# `.desktop` files. The string associated with `key[ll]` is used for
|
||||
# *key* when when the language *ll* (language-code, like *nl* or *en_GB*
|
||||
# or *ja*) is used.
|
||||
#
|
||||
# The following strings are **already** known to Calamares and can be
|
||||
# listed here in *untranslated* form (e.g. as value of *sidebar*)
|
||||
# without bothering with the translations: they are picked up from
|
||||
# the regular translation framework:
|
||||
# - "Package selection"
|
||||
# - "Office software"
|
||||
# - "Office package"
|
||||
# - "Browser software"
|
||||
# - "Browser package"
|
||||
# - "Web browser"
|
||||
# - "Kernel"
|
||||
# - "Services"
|
||||
# - "Login"
|
||||
# - "Desktop"
|
||||
# - "Applications"
|
||||
# - "Communication"
|
||||
# - "Development"
|
||||
# - "Office"
|
||||
# - "Multimedia"
|
||||
# - "Internet"
|
||||
# - "Theming"
|
||||
# - "Gaming"
|
||||
# - "Utilities"
|
||||
# Other strings should follow the translations format.
|
||||
label:
|
||||
sidebar: "Package selection"
|
||||
# sidebar[nl]: "Pakketkeuze"
|
||||
# sidebar[en_GB]: "Package choice"
|
||||
# sidebar[ja]: "知りません" # "I don't know"
|
||||
# title: "Office Package"
|
||||
# title[nl]: "Kantoorsoftware"
|
||||
|
||||
# If, and only if, *groupsUrl* is set to the literal string `local`,
|
||||
# groups data is read from this file. The value of *groups* must be
|
||||
# a list. Each item in the list is a group (of packages, or subgroups,
|
||||
# or both). A standalone groups file contains just the list,
|
||||
# (without the top-level *groups* key, or just the top-level *groups*
|
||||
# key and with the list as its value, like in this file).
|
||||
#
|
||||
# Using `local` is recommended only for small static package lists.
|
||||
# Here it is used for documentation purposes.
|
||||
#
|
||||
#
|
||||
### Groups Format
|
||||
#
|
||||
# Each item in the list describes one group. The following keys are
|
||||
# required for each group:
|
||||
#
|
||||
# - *name* of the group; short and human-readable. Shown in the first
|
||||
# column of the UI.
|
||||
# - *description* of the group; longer and human-readable. Shown in the
|
||||
# second column of the UI. This is one of the things that visually
|
||||
# distinguishes groups (with descriptions) from packages (without).
|
||||
# - *packages*, a list of packages that belong to this group.
|
||||
# The items of the *packages* list are actual package names
|
||||
# as passed to the package manager (e.g. `qt5-creator-dev`).
|
||||
# This list may be empty (e.g. if your group contains only
|
||||
# subgroups). This key isn't **really** required, either --
|
||||
# one of *subgroups* or *packages* is.
|
||||
#
|
||||
# The following keys are **optional** for a group:
|
||||
#
|
||||
# - *hidden*: if true, do not show the group on the page. Defaults to false.
|
||||
# - *selected*: if true, display the group as selected. Defaults to the
|
||||
# parent group's value, if there is a parent group; top-level groups
|
||||
# are set to true by default.
|
||||
# - *critical*: if true, make the installation process fail if installing
|
||||
# any of the packages in the group fails. Otherwise, just log a warning.
|
||||
# Defaults to false. If not set in a subgroup (see below), inherits from
|
||||
# the parent group.
|
||||
# - *immutable*: if true, the state of the group (and all its subgroups)
|
||||
# cannot be changed; no packages can be selected or deselected. No
|
||||
# checkboxes are show for the group. Setting *immutable* to true
|
||||
# really only makes sense in combination with *selected* set to true,
|
||||
# so that the packages will be installed. (Setting a group to immutable
|
||||
# can be seen as removing it from the user-interface.)
|
||||
# - *noncheckable*: if true, the entire group cannot be selected or
|
||||
# deselected by a single click. This does not affect any subgroups
|
||||
# or child packages
|
||||
# - *expanded*: if true, the group is shown in an expanded form (that is,
|
||||
# not-collapsed) in the treeview on start. This only affects the user-
|
||||
# interface. Only top-level groups are show expanded-initially.
|
||||
# - *subgroups*: if present this follows the same structure as the top level
|
||||
# groups, allowing sub-groups of packages to an arbitary depth.
|
||||
# - *pre-install*: an optional command to run within the new system before
|
||||
# the group's packages are installed. It will run before **each** package in
|
||||
# the group is installed.
|
||||
# - *post-install*: an optional command to run within the new system after
|
||||
# the group's packages are installed. It will run after **each** package in
|
||||
# the group is installed.
|
||||
#
|
||||
# If you set both *hidden* and *selected* for a top-level group, you are
|
||||
# creating a "default" group of packages which will always be installed
|
||||
# in the user's system. Hidden selected subgroups are installed if their
|
||||
# parent is selected. Setting *hidden* to true without *selected*, or with
|
||||
# *selected* set to false, is kind of pointless and will generate a warning.
|
||||
#
|
||||
# The *pre-install* and *post-install* commands are **not** passed to
|
||||
# a shell; see the **packages** module configuration (i.e. `packages.conf`)
|
||||
# for details. To use a full shell pipeline, call the shell explicitly.
|
||||
#
|
||||
# Non-critical groups are installed by calling the package manager
|
||||
# individually, once for each package (and ignoring errors), while
|
||||
# critical packages are installed in one single call to the package
|
||||
# manager (and errors cause the installation to terminate).
|
||||
#
|
||||
#
|
||||
#
|
||||
# The *groups* key below contains some common patterns for packages
|
||||
# and sub-groups, with documentation.
|
||||
|
||||
|
||||
groups:
|
||||
# This group is hidden, so the name and description are not really
|
||||
# important. Since it is selected, these packages will be installed.
|
||||
# It's non-critical, so they are installed one-by-one.
|
||||
#
|
||||
# This is a good approach for something you want up-to-date installed
|
||||
# in the target system every time.
|
||||
- name: "Default"
|
||||
description: "Default group"
|
||||
hidden: true
|
||||
selected: true
|
||||
critical: false
|
||||
packages:
|
||||
- base
|
||||
- chakra-live-skel
|
||||
# The Shells group contains only subgroups, no packages itself.
|
||||
# The *critical* value is set for the subgroups that do not
|
||||
# override it; *selected* is set to false but because one of
|
||||
# the subgroups sets *selected* to true, the overall state of
|
||||
# **this** group is partly-selected.
|
||||
#
|
||||
# Each of the sub-groups lists a bunch of packages that can
|
||||
# be individually selected, so a user can pick (for instance)
|
||||
# just one of the ZSH packages if they like.
|
||||
- name: "Shells"
|
||||
description: "Shells"
|
||||
hidden: false
|
||||
selected: false
|
||||
critical: true
|
||||
subgroups:
|
||||
- name: "Bash"
|
||||
description: "Bourne Again Shell"
|
||||
selected: true
|
||||
packages:
|
||||
- bash
|
||||
- bash-completion
|
||||
- name: "Zsh"
|
||||
description: "Zee shell, boss"
|
||||
packages:
|
||||
- zsh
|
||||
- zsh-completion
|
||||
- zsh-extensions
|
||||
# The kernel group has no checkbox, because it is immutable.
|
||||
# It can be (manually) expanded, and the packages inside it
|
||||
# will be shown, also without checkboxes. This is a way to
|
||||
# inform users that something will always be installed,
|
||||
# sort of like a hidden+selected group but visible.
|
||||
- name: "Kernel"
|
||||
description: "Kernel bits"
|
||||
hidden: false
|
||||
selected: true
|
||||
critical: true
|
||||
immutable: true
|
||||
packages:
|
||||
- kernel
|
||||
- kernel-debugsym
|
||||
- kernel-nvidia
|
||||
# *selected* defaults to true for top-level
|
||||
- name: Communications
|
||||
description: "Communications Software"
|
||||
packages:
|
||||
- ruqola
|
||||
- konversation
|
||||
- nheko
|
||||
- quaternion
|
||||
# Setting *selected* is supported. Here we also show off "rich"
|
||||
# packages: ones with a package-name (for the package-manager)
|
||||
# and a description (for the human).
|
||||
- name: Editors
|
||||
description: "Editing"
|
||||
selected: false
|
||||
packages:
|
||||
- vi
|
||||
- emacs
|
||||
- nano
|
||||
- name: kate-git
|
||||
description: Kate (unstable)
|
||||
- name: kate
|
||||
description: KDE's text editor
|
||||
# The "bare" package names can be intimidating, so you can use subgroups
|
||||
# to provide human-readable names while hiding the packages themselves.
|
||||
# This also allows you you group related packages -- suppose you feel
|
||||
# that KDevelop should be installed always with PHP and Python support,
|
||||
# but that support is split into multiple packages.
|
||||
#
|
||||
# So this subgroup (IDE) contains subgroups, one for each "package"
|
||||
# we want to install. Each of those subgroups (Emacs, KDevelop)
|
||||
# in turn contains **one** bogus subgroup, which then has the list
|
||||
# of relevant packages. This extra-level-of-subgrouping allows us
|
||||
# to list packages, while giving human-readable names.
|
||||
#
|
||||
# The name of the internal subgroup doesn't matter -- it is hidden
|
||||
# from the user -- so we can give them all bogus names and
|
||||
# descriptions, even the same name. Here, we use "Bogus". You
|
||||
# can re-use the subgroup name, it doesn't really matter.
|
||||
#
|
||||
# Each internal subgroup is set to *hidden*, so it does not show up
|
||||
# as an entry in the list, and it is set to *selected*,
|
||||
# so that if you select its parent subgroup, the packages from
|
||||
# the subgroup are selected with it and get installed.
|
||||
- name: IDE
|
||||
description: "Development Environment"
|
||||
selected: false
|
||||
subgroups:
|
||||
- name: Emacs
|
||||
description: LISP environment and editor
|
||||
subgroups:
|
||||
- name: Bogus
|
||||
description: Bogus
|
||||
hidden: true
|
||||
selected: true
|
||||
packages:
|
||||
- emacs
|
||||
- name: KDevelop
|
||||
description: KDE's C++, PHP and Python environment
|
||||
subgroups:
|
||||
- name: Bogus
|
||||
description: Bogus
|
||||
hidden: true
|
||||
selected: true
|
||||
packages:
|
||||
- kdevelop
|
||||
- kdevelop-dev
|
||||
- kdev-php
|
||||
- kdev-python
|
||||
|
||||
43
airootfs/usr/share/calamares/modules/notesqml.conf
Normal file
43
airootfs/usr/share/calamares/modules/notesqml.conf
Normal file
@@ -0,0 +1,43 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# The *notesqml* module can be used to display a QML file
|
||||
# as an installer step. This is most useful for release-notes
|
||||
# and similar somewhat-static content, but if you want to you
|
||||
# can put SameGame in there as well.
|
||||
#
|
||||
# While the module compiles a QML file into a QRC for inclusion
|
||||
# into the shared library, normal use will configure it with
|
||||
# an external file, either from Calamares AppData directory or
|
||||
# from the branding directory.
|
||||
#
|
||||
# ---
|
||||
#
|
||||
# QML modules can search for the QML inside the Qt resources
|
||||
# (QRC) which are compiled into the module, or in the branding
|
||||
# setup for Calamares, (or both of them, with branding taking
|
||||
# precedence). This allows the module to ship a default UI and
|
||||
# branding to optionally introduce a replacement file.
|
||||
#
|
||||
# Generally, leave the search method set to "both" because if
|
||||
# you don't want to brand the UI, just don't ship a branding
|
||||
# QML file for it.
|
||||
#
|
||||
# To support instanced QML modules, searches in the branding
|
||||
# directory look for the full notesqml@instanceid name as well.
|
||||
---
|
||||
# Search mode. Valid values are "both", "qrc" and "branding"
|
||||
qmlSearch: both
|
||||
|
||||
# Name of the QML file. If not set, uses the name of the instance
|
||||
# of the module (e.g. if you list this module in `settings.conf`
|
||||
# in the *instances* section, you get *id*, otherwise it would
|
||||
# normally be "notesqml").
|
||||
# qmlFilename: notesqml
|
||||
|
||||
# This is the name of the module in the progress-tree / sidebar
|
||||
# in Calamares. To support multiple instances of the QML module,
|
||||
# the name is configurable and translatable here.
|
||||
qmlLabel:
|
||||
notes: "Release Notes"
|
||||
notes[nl]: "Opmerkingen"
|
||||
16
airootfs/usr/share/calamares/modules/oemid.conf
Normal file
16
airootfs/usr/share/calamares/modules/oemid.conf
Normal file
@@ -0,0 +1,16 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# This is an OEM setup (phase-0) configuration file.
|
||||
---
|
||||
# The batch-identifier is written to /var/log/installer/oem-id.
|
||||
# This value is put into the text box as the **suggested**
|
||||
# OEM ID. If ${DATE} is included in the identifier, then
|
||||
# that is replaced by the current date in yyyy-MM-dd (ISO) format.
|
||||
#
|
||||
# It is ok for the identifier to be empty.
|
||||
#
|
||||
# The identifier is written to the file as UTF-8 (this will be no
|
||||
# different from ASCII, for most inputs) and followed by a newline.
|
||||
# If the identifier is empty, only a newline is written.
|
||||
batch-identifier: neon-${DATE}
|
||||
@@ -0,0 +1,5 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
---
|
||||
configFilePath: /etc/conf.d/dmcrypt
|
||||
214
airootfs/usr/share/calamares/modules/packages.conf
Normal file
214
airootfs/usr/share/calamares/modules/packages.conf
Normal file
@@ -0,0 +1,214 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# The configuration for the package manager starts with the
|
||||
# *backend* key, which picks one of the backends to use.
|
||||
# In `main.py` there is a base class `PackageManager`.
|
||||
# Implementations must subclass that and set a (class-level)
|
||||
# property *backend* to the name of the backend (e.g. "dummy").
|
||||
# That property is used to match against the *backend* key here.
|
||||
#
|
||||
# You will have to add such a class for your package manager.
|
||||
# It is fairly simple Python code. The API is described in the
|
||||
# abstract methods in class `PackageManager`. Mostly, the only
|
||||
# trick is to figure out the correct commands to use, and in particular,
|
||||
# whether additional switches are required or not. Some package managers
|
||||
# have more installer-friendly defaults than others, e.g., DNF requires
|
||||
# passing --disablerepo=* -C to allow removing packages without Internet
|
||||
# connectivity, and it also returns an error exit code if the package did
|
||||
# not exist to begin with.
|
||||
---
|
||||
#
|
||||
# Which package manager to use, options are:
|
||||
# - apk - Alpine Linux package manager
|
||||
# - apt - APT frontend for DEB and RPM
|
||||
# - dnf - DNF, the new RPM frontend
|
||||
# - dnf5 - DNF5, the newer new RPM frontend
|
||||
# - entropy - Sabayon package manager (is being deprecated)
|
||||
# - luet - Sabayon package manager (next-gen)
|
||||
# - packagekit - PackageKit CLI tool
|
||||
# - pacman - Pacman
|
||||
# - pamac - Manjaro package manager
|
||||
# - portage - Gentoo package manager
|
||||
# - yum - Yum RPM frontend
|
||||
# - zypp - Zypp RPM frontend
|
||||
#
|
||||
# Not actually a package manager, but suitable for testing:
|
||||
# - dummy - Dummy manager, only logs
|
||||
#
|
||||
backend: dummy
|
||||
|
||||
#
|
||||
# Often package installation needs an internet connection.
|
||||
# Since you may allow system installation without a connection
|
||||
# and want to offer OPTIONAL package installation, it's
|
||||
# possible to have no internet, yet have this packages module
|
||||
# enabled in settings.
|
||||
#
|
||||
# You can skip the whole module when there is no internet
|
||||
# by setting "skip_if_no_internet" to true.
|
||||
#
|
||||
# You can run a package-manager specific update procedure
|
||||
# before installing packages (for instance, to update the
|
||||
# list of packages and dependencies); this is done only if there
|
||||
# is an internet connection.
|
||||
#
|
||||
# Set "update_db" to 'true' for refreshing the database on the
|
||||
# target system. On target installations, which got installed by
|
||||
# unsquashing, a full system update may be needed. Otherwise
|
||||
# post-installing additional packages may result in conflicts.
|
||||
# Therefore set also "update_system" to 'true'.
|
||||
#
|
||||
skip_if_no_internet: false
|
||||
update_db: true
|
||||
update_system: false
|
||||
|
||||
# pacman specific options
|
||||
#
|
||||
# *num_retries* should be a positive integer which specifies the
|
||||
# number of times the call to pacman will be retried in the event of a
|
||||
# failure. If it is missing, it will be set to 0.
|
||||
#
|
||||
# *disable_download_timeout* is a boolean that, when true, includes
|
||||
# the flag --disable-download-timeout on calls to pacman. When missing,
|
||||
# false is assumed.
|
||||
#
|
||||
# *needed_only* is a boolean that includes the pacman argument --needed
|
||||
# when set to true. If missing, false is assumed.
|
||||
pacman:
|
||||
num_retries: 0
|
||||
disable_download_timeout: false
|
||||
needed_only: false
|
||||
|
||||
#
|
||||
# List of maps with package operations such as install or remove.
|
||||
# Distro developers can provide a list of packages to remove
|
||||
# from the installed system (for instance packages meant only
|
||||
# for the live system).
|
||||
#
|
||||
# A job implementing a distro specific logic to determine other
|
||||
# packages that need to be installed or removed can run before
|
||||
# this one. Distro developers may want to install locale packages
|
||||
# or remove drivers not needed on the installed system.
|
||||
# Such a job would populate a list of dictionaries in the global
|
||||
# storage called "packageOperations" and that list is processed
|
||||
# after the static list in the job configuration (i.e. the list
|
||||
# that is in this configuration file).
|
||||
#
|
||||
# Allowed package operations are:
|
||||
# - *install*, *try_install*: will call the package manager to
|
||||
# install one or more packages. The install target will
|
||||
# abort the whole installation if package-installation
|
||||
# fails, while try_install carries on. Packages may be
|
||||
# listed as (localized) names, or as (localized) package-data.
|
||||
# See below for the description of the format.
|
||||
# - *localInstall*: this is used to call the package manager
|
||||
# to install a package from a path-to-a-package. This is
|
||||
# useful if you have a static package archive on the install media.
|
||||
# The *pacman* package manager is the only one to specially support
|
||||
# this operation (all others treat this the same as *install*).
|
||||
# - *remove*, *try_remove*: will call the package manager to
|
||||
# remove one or more packages. The remove target will
|
||||
# abort the whole installation if package-removal fails,
|
||||
# while try_remove carries on. Packages may be listed as
|
||||
# (localized) names.
|
||||
# One additional key is recognized, to help netinstall out:
|
||||
# - *source*: ignored, does get logged
|
||||
# Any other key is ignored, and logged as a warning.
|
||||
#
|
||||
# There are two formats for naming packages: as a name or as package-data,
|
||||
# which is an object notation providing package-name, as well as pre- and
|
||||
# post-install scripts.
|
||||
#
|
||||
# Here are both formats, for installing vi. The first one just names the
|
||||
# package for vi (using the naming of the installed package manager), while
|
||||
# the second contains three data-items; the pre-script is run before invoking
|
||||
# the package manager, and the post-script runs once it is done.
|
||||
#
|
||||
# - install
|
||||
# - vi
|
||||
# - package: vi
|
||||
# pre-script: touch /tmp/installing-vi
|
||||
# post-script: rm -f /tmp/installing-vi
|
||||
#
|
||||
# The pre- and post-scripts are optional, but you cannot leave both out
|
||||
# if you do use the *package* key: using "package: vi" with neither script
|
||||
# option will trick Calamares into trying to install a package named
|
||||
# "package: vi", which is unlikely to work.
|
||||
#
|
||||
# The pre- and post-scripts are **not** executed by a shell unless you
|
||||
# explicitly invoke `/bin/sh` in them. The command-lines are passed
|
||||
# to exec(), which does not understand shell syntax. In other words:
|
||||
#
|
||||
# pre-script: ls | wc -l
|
||||
#
|
||||
# Will fail, because `|` is passed as a command-line argument to ls,
|
||||
# as are `wc`, and `-l`. No shell pipeline is set up, and ls is likely
|
||||
# to complain. Invoke the shell explicitly:
|
||||
#
|
||||
# pre-script: /bin/sh -c \"ls | wc -l\"
|
||||
#
|
||||
# The above note on shell-expansion applies to versions up-to-and-including
|
||||
# Calamares 3.2.12, but will change in future.
|
||||
#
|
||||
# Any package name may be localized; this is used to install localization
|
||||
# packages for software based on the selected system locale. By including
|
||||
# the string `LOCALE` in the package name, the following happens:
|
||||
#
|
||||
# - if the system locale is English (any variety), then the package is not
|
||||
# installed at all,
|
||||
# - otherwise `$LOCALE` or `${LOCALE}` is replaced by the 'lower-cased' BCP47
|
||||
# name of the 'language' part of the selected system locale (not the
|
||||
# country/region/dialect part), e.g. selecting "nl_BE" will use "nl"
|
||||
# here.
|
||||
#
|
||||
# Take care that just plain `LOCALE` will not be replaced, so `foo-LOCALE` will
|
||||
# be left unchanged, while `foo-$LOCALE` will be changed. However, `foo-LOCALE`
|
||||
# **will** be removed from the list of packages (i.e. not installed), if
|
||||
# English is selected. If a non-English locale is selected, then `foo-LOCALE`
|
||||
# will be installed, unchanged (no language-name-substitution occurs).
|
||||
#
|
||||
# The following installs localizations for vi, if they are relevant; if
|
||||
# there is no localization, installation continues normally.
|
||||
#
|
||||
# - install
|
||||
# - vi-$LOCALE
|
||||
# - package: vi-${LOCALE}
|
||||
# pre-script: touch /tmp/installing-vi
|
||||
# post-script: rm -f /tmp/installing-vi
|
||||
#
|
||||
# When installing packages, Calamares will invoke the package manager
|
||||
# with a list of package names if it can; package-data prevents this because
|
||||
# of the scripts that need to run. In other words, this:
|
||||
#
|
||||
# - install:
|
||||
# - vi
|
||||
# - binutils
|
||||
# - package: wget
|
||||
# pre-script: touch /tmp/installing-wget
|
||||
#
|
||||
# This will invoke the package manager three times, once for each package,
|
||||
# because not all of them are simple package names. You can speed up the
|
||||
# process if you have only a few pre-scripts, by using multiple install targets:
|
||||
#
|
||||
# - install:
|
||||
# - vi
|
||||
# - binutils
|
||||
# - install:
|
||||
# - package: wget
|
||||
# pre-script: touch /tmp/installing-wget
|
||||
#
|
||||
# This will call the package manager once with the package-names "vi" and
|
||||
# "binutils", and then a second time for "wget". When installing large numbers
|
||||
# of packages, this can lead to a considerable time savings.
|
||||
#
|
||||
operations:
|
||||
- install:
|
||||
- vi
|
||||
- vi-${LOCALE}
|
||||
- wget
|
||||
- binutils
|
||||
- remove:
|
||||
- vi
|
||||
- wget
|
||||
- binutils
|
||||
397
airootfs/usr/share/calamares/modules/partition.conf
Normal file
397
airootfs/usr/share/calamares/modules/partition.conf
Normal file
@@ -0,0 +1,397 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
|
||||
# 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. Distros that allow more user latitude can set the minimum lower.
|
||||
efi:
|
||||
mountPoint: "/boot/efi"
|
||||
recommendedSize: 300MiB
|
||||
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
|
||||
|
||||
# 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: luks1
|
||||
|
||||
# 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
|
||||
|
||||
# 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: true
|
||||
|
||||
# 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.
|
||||
#
|
||||
# Possible values: gpt, msdos (or other names defined by KPMcore).
|
||||
# Names are case-sensitive.
|
||||
#
|
||||
# If nothing is specified, Calamares defaults to "gpt" if system is
|
||||
# efi or "msdos" otherwise.
|
||||
#
|
||||
# defaultPartitionTableType: msdos
|
||||
|
||||
# Specify whether to create a partition table layout suitable for a hybrid
|
||||
# (BIOS + EFI) bootloader installation. This will prepend both bios-boot and
|
||||
# EFI system partitions to the partition layout, regardless of whether the
|
||||
# booted system uses BIOS or EFI firmware. Defaults to false.
|
||||
#
|
||||
# createHybridBootloaderLayout: false
|
||||
|
||||
# Requirement for partition table type
|
||||
#
|
||||
# Restrict the installation on disks that match the type of partition
|
||||
# tables that are specified.
|
||||
#
|
||||
# Possible values: msdos, gpt (or other names defined by KPMcore).
|
||||
# Names are case-sensitive.
|
||||
#
|
||||
# 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"]
|
||||
|
||||
# Per-directory filesystem restrictions.
|
||||
#
|
||||
# This optional setting specifies what filesystems the user can and cannot use
|
||||
# for various directories and mountpoints when using manual partitioning.
|
||||
#
|
||||
# If nothing is specified, the only restriction enforced by default is that
|
||||
# the EFI system partition must use the fat32 filesystem.
|
||||
#
|
||||
# Otherwise, the filesystem restrictions are defined as follow:
|
||||
#
|
||||
# directoryFilesystemRestrictions:
|
||||
# - directory: "any"
|
||||
# allowedFilesystemTypes: ["all"]
|
||||
# - directory: "/"
|
||||
# allowedFilesystemTypes: ["ext4","xfs","btrfs","jfs","f2fs"]
|
||||
# - mountpoint: "efi"
|
||||
# allowedFilesystemTypes: ["fat32"]
|
||||
# onlyWhenMountpoint: true
|
||||
#
|
||||
# There can be any number of mountpoints listed, each entry having the
|
||||
# following attributes:
|
||||
# - mountpoint: mountpoint's full path
|
||||
# or
|
||||
# "any" to specify a global whitelist that applies to all
|
||||
# mountpoints
|
||||
# or
|
||||
# "efi" to specify a whitelist specific to the EFI system
|
||||
# partition, wherever that partition is located
|
||||
# - allowedFilesystemTypes: the list of all filesystems valid for this
|
||||
# mountpoint. If the list contains exactly one
|
||||
# element, and that element is the special value
|
||||
# "any", all filesystem types recognized by
|
||||
# Calamares will be allowed.
|
||||
# - onlyWhenMountpoint: Whether the restriction should apply only when the
|
||||
# specified directory is a mountpoint. When set to
|
||||
# true, Calamares will only enforce the listed
|
||||
# restrictions when the user makes a separate partition
|
||||
# for this directory and assigns the mountpoint
|
||||
# accordingly. When set to false, Calamares will
|
||||
# ensure this directory uses the specified filesystem
|
||||
# even if the directory is part of a filesystem on a
|
||||
# different mountpoint. Defaults to false.
|
||||
|
||||
# The ClearMounts job unmounts / unmaps things before partitioning.
|
||||
# Some special entries under /dev/mapper are excepted from this process.
|
||||
# The example lists the three hard-coded exceptions which always apply
|
||||
# (they don't need to be listed here). Add other names or wildcards (with
|
||||
# a trailing '*') to this list if the live-ISO has additional mounts.
|
||||
essentialMounts: [ "live-*", "control", "ventoy" ]
|
||||
|
||||
# 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
|
||||
# the Calamares website at https://calamares.io/docs/partitions/#luks .
|
||||
#
|
||||
# If nothing is specified, LUKS is enabled in automated modes.
|
||||
#enableLuksAutomatedPartitioning: true
|
||||
|
||||
# When enableLuksAutomatedPartitioning is true, this option will pre-check
|
||||
# encryption checkbox. This option is only usefull to help people to not forget
|
||||
# to cypher their disk when installing in enterprise (for example).
|
||||
#preCheckEncryption: false
|
||||
|
||||
# LVM support
|
||||
#
|
||||
# There is only one sub-key available, *enable* (defaults to true)
|
||||
# which can be used to show (default) or hide the LVM buttons in the partitioning module.
|
||||
lvm:
|
||||
enable: 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 prepended automatically to the layout if
|
||||
# needed; the swap partition is appended to the layout if enabled (selections
|
||||
# "small" or "suspend" in *userSwapChoices*).
|
||||
#
|
||||
# Otherwise, the partition layout is defined as follow:
|
||||
#
|
||||
# partitionLayout:
|
||||
# - name: "rootfs"
|
||||
# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
|
||||
# filesystem: "ext4"
|
||||
# noEncrypt: false
|
||||
# mountPoint: "/"
|
||||
# size: 20%
|
||||
# minSize: 500M
|
||||
# maxSize: 10G
|
||||
# attributes: 0xffff000000000003
|
||||
# - name: "home"
|
||||
# type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
|
||||
# filesystem: "ext4"
|
||||
# noEncrypt: false
|
||||
# mountPoint: "/home"
|
||||
# size: 3G
|
||||
# minSize: 1.5G
|
||||
# features:
|
||||
# 64bit: false
|
||||
# casefold: true
|
||||
# - name: "data"
|
||||
# filesystem: "fat32"
|
||||
# mountPoint: "/data"
|
||||
# features:
|
||||
# sector-size: 4096
|
||||
# sectors-per-cluster: 128
|
||||
# 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
|
||||
# Use GPT for UEFI (standard for modern VMs)
|
||||
defaultPartitionTableType: "gpt"
|
||||
|
||||
# Ensure the installer doesn't hang on "busy" disks
|
||||
enableLuksAutomatedPartitioning: true
|
||||
83
airootfs/usr/share/calamares/modules/plasmalnf.conf
Normal file
83
airootfs/usr/share/calamares/modules/plasmalnf.conf
Normal file
@@ -0,0 +1,83 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# The Plasma Look-and-Feel module allows selecting a Plasma
|
||||
# Look-and-Feel in the live- or host-system and switches the
|
||||
# host Plasma session immediately to the chosen LnF; it
|
||||
# can also write a LnF configuration to the target user / on
|
||||
# the target system.
|
||||
#
|
||||
# This module should be used once in a view section (to get
|
||||
# the UI) and once in the exec section (to apply the selection
|
||||
# to the target user). It should come **after** the user module
|
||||
# in exec, so that the target user has been created alrady.
|
||||
---
|
||||
# Full path to the Plasma look-and-feel tool (CLI program
|
||||
# for querying and applying Plasma themes). If this is not
|
||||
# set, no LNF setting will happen.
|
||||
lnftool: "/usr/bin/lookandfeeltool"
|
||||
|
||||
# For systems where the user Calamares runs as (usually root,
|
||||
# via either sudo or pkexec) has a clean environment, set this
|
||||
# to the originating username; the lnftool will be run through
|
||||
# "sudo -H -u <liveuser>" instead of directly.
|
||||
#
|
||||
# liveuser: "live"
|
||||
|
||||
# If *showAll* is true, then all installed themes are shown in the
|
||||
# UI for selection, even if they are not listed in *themes* (below).
|
||||
# This allows selection of all themes even while not all of them are
|
||||
# listed in *themes* -- which is useful to show screenshots for those
|
||||
# you do have a screenshot for. If *themes* is empty or missing,
|
||||
# the value of *showAll* is treated as `true`.
|
||||
showAll: false
|
||||
|
||||
# You can limit the list of Plasma look-and-feel themes by listing ids
|
||||
# here. If this key is not present, all of the installed themes are listed.
|
||||
# If the key is present, only installed themes that are **also** included
|
||||
# in the list are shown (could be none!). See the *showAll* key, above,
|
||||
# to change that.
|
||||
#
|
||||
# Themes may be listed by id, (e.g. fluffy-bunny, below) or as a theme
|
||||
# and an image (e.g. breeze) which will be used to show a screenshot.
|
||||
# Themes with no image set at all get a "missing screenshot" image; if the
|
||||
# image file is not found, they get a color swatch based on the image name.
|
||||
#
|
||||
# The image may be an absolute path. If it is a relative path, though,
|
||||
# it is searched in the current directory and in the branding directory
|
||||
# (i.e. relative to the directory where your branding.desc lives).
|
||||
#
|
||||
# Valid forms of entries in the *themes* key:
|
||||
# - A single string (unquoted), which is the theme id
|
||||
# - A pair of *theme* and *image* keys, e.g.
|
||||
# ```
|
||||
# - theme: fluffy-bunny.desktop
|
||||
# image: "fluffy-screenshot.png"
|
||||
# ```
|
||||
#
|
||||
# The image screenshot is resized to 12x8 the current font size, with
|
||||
# a minimum of 120x80 pixels. This allows the screenshot to scale up
|
||||
# on HiDPI displays where the fonts are larger (in pixels).
|
||||
themes:
|
||||
- org.kde.fuzzy-pig.desktop
|
||||
- theme: org.kde.breeze.desktop
|
||||
image: "breeze.png"
|
||||
- theme: org.kde.breezedark.desktop
|
||||
image: "breeze-dark.png"
|
||||
- org.kde.fluffy-bunny.desktop
|
||||
|
||||
# You can pre-select one of the themes; it is not applied
|
||||
# immediately, but its radio-button is switched on to indicate
|
||||
# that that is the theme (that is most likely) currently in use.
|
||||
# Do this only on Live images where you are reasonably sure
|
||||
# that the user is not going to change the theme out from under
|
||||
# themselves before running the installer.
|
||||
#
|
||||
# If this key is present, its value should be the id of the theme
|
||||
# which should be pre-selected. If absent, empty, or the pre-selected
|
||||
# theme is not found on the live system, no theme will be pre-selected.
|
||||
#
|
||||
# As a special setting, use "*", to try to find the currently-
|
||||
# selected theme by reading the Plasma configuration. This requires
|
||||
# KF5::Config at build- and run-time.
|
||||
preselect: "*"
|
||||
31
airootfs/usr/share/calamares/modules/plymouthcfg.conf
Normal file
31
airootfs/usr/share/calamares/modules/plymouthcfg.conf
Normal file
@@ -0,0 +1,31 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Plymouth Configuration Module
|
||||
#
|
||||
# This module can be used to setup the default plymouth theme to
|
||||
# be used with your distribution
|
||||
#
|
||||
# You should only use this module if the plymouth package is installed
|
||||
# on the build configurations of your distribution & the plymouth
|
||||
# theme you want to configure is installed as well. If the unpacked
|
||||
# filesystem configures a plymouth theme already, there is no need
|
||||
# to change it here.
|
||||
---
|
||||
|
||||
|
||||
# Leave this commented if you want to use the default theme
|
||||
# shipped with your distribution configurations. Make sure that
|
||||
# the theme exists in the themes directory of plymouth path.
|
||||
# Debian / Ubuntu comes with themes "joy", "script", "softwaves",
|
||||
# possibly others. Look in /usr/share/plymouth/themes for more.
|
||||
#
|
||||
# Specifying a non-existent theme will leave the plymouth
|
||||
# configuration set to that theme. It is up to plymouth to
|
||||
# deal with that.
|
||||
|
||||
plymouth_theme: spinfinity
|
||||
|
||||
|
||||
|
||||
|
||||
70
airootfs/usr/share/calamares/modules/preservefiles.conf
Normal file
70
airootfs/usr/share/calamares/modules/preservefiles.conf
Normal file
@@ -0,0 +1,70 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the preserve-files job
|
||||
#
|
||||
# The *files* key contains a list of files to preserve. Each element of
|
||||
# the list should have one of these forms:
|
||||
#
|
||||
# - an absolute path (probably within the host system). This will be preserved
|
||||
# as the same path within the target system (chroot). If, globally,
|
||||
# *dontChroot* is true, then these items will be ignored (since the
|
||||
# destination is the same as the source).
|
||||
# - a map with a *dest* key. The *dest* value is a path interpreted in the
|
||||
# target system (if the global *dontChroot* is true, then the host is the
|
||||
# target as well). Relative paths are not recommended. There are two
|
||||
# ways to select the source data for the file:
|
||||
# - *from*, which must have one of the values, below; it is used to
|
||||
# preserve files whose pathname is known to Calamares internally.
|
||||
# - *src*, to refer to a path interpreted in the host system. Relative
|
||||
# paths are not recommended, and are interpreted relative to where
|
||||
# Calamares is being run.
|
||||
# Exactly one of the two source keys (either *from* or *src*) must be set.
|
||||
#
|
||||
# Special values for the key *from* are:
|
||||
# - *log*, for the complete log file (up to the moment the preservefiles
|
||||
# module is run),
|
||||
# - *config*, for a JSON dump of the contents of global storage.
|
||||
# Note that this may contain sensitive information, and should be
|
||||
# given restrictive permissions.
|
||||
#
|
||||
# A map with a *dest* key can have these additional fields:
|
||||
# - *perm*, is a colon-separated tuple of <user>:<group>:<mode>
|
||||
# where <mode> is in octal (e.g. 4777 for wide-open, 0400 for read-only
|
||||
# by owner). If set, the file's ownership and permissions are set to
|
||||
# those values within the target system; if not set, no permissions
|
||||
# are changed.
|
||||
# - *optional*, is a boolean; if this is set to `true` then failure to
|
||||
# preserve the file will **not** be counted as a failure of the
|
||||
# module, and installation will proceed. Set this for files that might
|
||||
# not exist in the host system (e.g. nvidia configuration files that
|
||||
# are created in some boot scenarios and not in others).
|
||||
#
|
||||
# The target path (*dest*) is modified by expanding variables in `${}`:
|
||||
# - `ROOT` is replaced by the path to the target root (may be /).
|
||||
# There is never any reason to use this, since the *dest* is already
|
||||
# interpreted in the target system.
|
||||
# - `USER` is replaced by the username entered by on the user
|
||||
# page (may be empty, for instance if no user page is enabled)
|
||||
#
|
||||
#
|
||||
#
|
||||
files:
|
||||
- from: log
|
||||
dest: /var/log/Calamares.log
|
||||
perm: root:wheel:600
|
||||
- from: log
|
||||
dest: /home/${USER}/installation.log
|
||||
optional: true
|
||||
- from: config
|
||||
dest: /var/log/Calamares-install.json
|
||||
perm: root:wheel:600
|
||||
# - src: /var/log/nvidia.conf
|
||||
# dest: /var/log/Calamares-nvidia.conf
|
||||
# optional: true
|
||||
|
||||
# The *perm* key contains a default value to apply to all files listed
|
||||
# above that do not have a *perm* key of their own. If not set,
|
||||
# root:root:0400 (highly restrictive) is used.
|
||||
#
|
||||
# perm: "root:root:0400"
|
||||
32
airootfs/usr/share/calamares/modules/rawfs.conf
Normal file
32
airootfs/usr/share/calamares/modules/rawfs.conf
Normal file
@@ -0,0 +1,32 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the rawfs module: raw filesystem copy to a block device
|
||||
|
||||
---
|
||||
|
||||
# To apply a custom partition layout, it has to be defined as a list of targets.
|
||||
#
|
||||
# For each target, the following attributes must be defined:
|
||||
# * mountPoint: The mount point of the destination device on the installed system
|
||||
# The corresponding block device will automatically be identified and used as the
|
||||
# destination for the operation
|
||||
# * source: The source filesystem; it can be the mount point of a locally (on the
|
||||
# live system) mounted filesystem, a path to a disk image, or a block device
|
||||
# * resize (optional): Expand the destination filesystem to fill the whole
|
||||
# partition at the end of the operation; this works only with ext filesystems
|
||||
# for now
|
||||
|
||||
targets:
|
||||
- mountPoint: /
|
||||
source: /
|
||||
- mountPoint: /home
|
||||
source: /images/home.img
|
||||
resize: true
|
||||
- mountPoint: /data
|
||||
source: /dev/mmcblk0p3
|
||||
|
||||
# To support testing, set the *bogus* key to true. No actual work is done, but the
|
||||
# module's logic is exercised.
|
||||
|
||||
# bogus: false
|
||||
13
airootfs/usr/share/calamares/modules/removeuser.conf
Normal file
13
airootfs/usr/share/calamares/modules/removeuser.conf
Normal file
@@ -0,0 +1,13 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Removes a single user (with userdel) from the system.
|
||||
# This is typically used in OEM setups or if the live user
|
||||
# spills into the target system.
|
||||
#
|
||||
# The module never fails; if userdel fails, this is logged
|
||||
# but the module still reports success and installation / setup
|
||||
# continues as normal.
|
||||
---
|
||||
# Username in the target system to be removed.
|
||||
username: live
|
||||
54
airootfs/usr/share/calamares/modules/services-systemd.conf
Normal file
54
airootfs/usr/share/calamares/modules/services-systemd.conf
Normal file
@@ -0,0 +1,54 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Systemd units manipulation.
|
||||
#
|
||||
# This module can perform actions using systemd units,
|
||||
# (for example, enabling, disabling, or masking services, sockets, paths, etc.)
|
||||
---
|
||||
|
||||
# There is one key for this module: *units*. Its value is a list of entries.
|
||||
# Each entry has three keys:
|
||||
# - *name* is the (string) name of the systemd unit that is being changed.
|
||||
# Use quotes. You can use any valid systemd unit here (for example,
|
||||
# "NetworkManager.service", "cups.socket", "lightdm", "gdm", etc.)
|
||||
# - *action* is the (string) action that you want to perform over the unit
|
||||
# (for example, "enable", "disable", "mask", "unmask", etc.). Please
|
||||
# ensure that the action can actually run under chroot (otherwise it is
|
||||
# pointless)
|
||||
# - *mandatory* is a boolean option, which states whether the change
|
||||
# must be done successfully. If systemd reports an error while changing
|
||||
# a mandatory entry, the installation will fail. When mandatory is false,
|
||||
# errors for that systemd unit are ignored. If mandatory
|
||||
# is not specified, the default is false.
|
||||
#
|
||||
# The order of operations is the same as the order in which entries
|
||||
# appear in the list
|
||||
|
||||
# # This example enables NetworkManager.service (and fails if it can't),
|
||||
# # disables cups.socket (and ignores failure). Then it enables the
|
||||
# # graphical target (e.g. so that SDDM runs for login), and
|
||||
# # finally masks pacman-init (an ArchLinux-only service).
|
||||
# #
|
||||
# units:
|
||||
# - name: "NetworkManager.service"
|
||||
# action: "enable"
|
||||
# mandatory: true
|
||||
#
|
||||
# - name: "cups.socket"
|
||||
# action: "disable"
|
||||
# # The property "mandatory" is taken to be false by default here
|
||||
# # because it is not specified
|
||||
#
|
||||
# - name: "graphical.target"
|
||||
# action: "enable"
|
||||
# # The property "mandatory" is taken to be false by default here
|
||||
# # because it is not specified
|
||||
#
|
||||
# - name: "pacman-init.service"
|
||||
# action: "mask"
|
||||
# # The property "mandatory" is taken to be false by default here
|
||||
# # because it is not specified
|
||||
|
||||
# By default, no changes are made.
|
||||
units: []
|
||||
146
airootfs/usr/share/calamares/modules/shellprocess.conf
Normal file
146
airootfs/usr/share/calamares/modules/shellprocess.conf
Normal file
@@ -0,0 +1,146 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the shell process job.
|
||||
#
|
||||
# Executes a list of commands found under the key *script*.
|
||||
# If the top-level key *dontChroot* is true, then the commands
|
||||
# are executed in the context of the live system, otherwise
|
||||
# in the context of the target system. In all of the commands,
|
||||
# the following variable expansions will take place:
|
||||
# - `ROOT` is replaced by the root mount point of the **target**
|
||||
# system from the point of view of the command (when run in the target
|
||||
# system, e.g. when *dontChroot* is false, that will be `/`).
|
||||
# - `USER` is replaced by the username, set on the user page.
|
||||
# - `LANG` is replaced by the language chosen for the user-interface
|
||||
# of Calamares, set on the welcome page. This may not reflect the
|
||||
# chosen system language from the locale page.
|
||||
#
|
||||
# As a special case, variables of the form `gs[key]` where `key` is
|
||||
# a dotted-keys string and `gs` is literally the letters `g` and `s`,
|
||||
# use **any** value from Global Storage. For example,
|
||||
#
|
||||
# gs[branding.bootloader]
|
||||
#
|
||||
# This variable refers to the GS value stored in `bootloader` in the
|
||||
# `branding` map. Examine the Debug window for information about the
|
||||
# keys stored in GS. Only strings and integers are exposed this way,
|
||||
# lists and other data types do not set any variable this way.
|
||||
#
|
||||
# Variables are written as `${var}`, e.g. `${ROOT}`.
|
||||
# Write `$$` to get a shell-escaped `\$` in the shell command.
|
||||
# It is not possible to get an un-escaped `$` in the shell command
|
||||
# (either the command will fail because of undefined variables, or
|
||||
# you get a shell-escaped `\$`).
|
||||
#
|
||||
# The (global) timeout for the command list can be set with
|
||||
# the *timeout* key. The value is a time in seconds, default
|
||||
# is 30 seconds if not set. The timeout **must** be tuned, either
|
||||
# globally or per-command (see below in the description of *script*),
|
||||
# to the load or expected running-time of the command.
|
||||
#
|
||||
# - Setting a timeout of 30 for a `touch` command is probably exessive
|
||||
# - Setting a timeout of 1 for a `touch` command might be low,
|
||||
# on a slow disk where touch needs to be loaded from CDROM
|
||||
# - Setting a timeout of 30 for a 1GB download is definitely low
|
||||
# - Setting a timeout of 3600 for a 1GB download is going to leave
|
||||
# the user in uncertainty for a loooong time.
|
||||
#
|
||||
# The (global) verbosity of a command can be set to `true` or `false`.
|
||||
# When set to `true`, command output is logged one line at a time.
|
||||
# Otherwise the output is logged when the command completes.
|
||||
# Line-at-a-time logging is appropriate for commands that take
|
||||
# a long time to complete and produce their own (progress) output.
|
||||
#
|
||||
# If a command starts with "-" (a single minus sign), then the
|
||||
# return value of the command following the - is ignored; otherwise,
|
||||
# a failing command will abort the installation. This is much like
|
||||
# make's use of - in a command.
|
||||
#
|
||||
# The value of *script* may be:
|
||||
# - a single string; this is one command that is executed.
|
||||
# - a single object (see below).
|
||||
# - a list of items; these are executed one at a time, by
|
||||
# separate shells (/bin/sh -c is invoked for each command).
|
||||
# Each list item may be:
|
||||
# - a single string; this is one command that is executed.
|
||||
# - a single object, specifying a key *command* and (optionally)
|
||||
# a key *timeout* to set the timeout for this specific
|
||||
# command differently from the global setting. An optional
|
||||
# key *environment* is a list of strings to put into the
|
||||
# environment of the command. An optional key *verbose*
|
||||
# overrides the global *verbose* setting in this file.
|
||||
#
|
||||
# Using a single object is not generally useful because the same effect
|
||||
# can be obtained with a single string and a global timeout, except
|
||||
# when the command needs environment-settings. When there are
|
||||
# multiple commands to execute, one of them might have
|
||||
# a different timeout than the others.
|
||||
#
|
||||
# The environment strings should all be "KEY='some value'" strings,
|
||||
# as if they can be typed into the shell. Quoting the environment
|
||||
# strings with "" in YAML is recommended. Adding the '' quotes ensures
|
||||
# that the value will not be interpreted by the shell. Writing
|
||||
# environment strings is the same as placing `export KEY='some value' ;`
|
||||
# in front of the *command*.
|
||||
#
|
||||
# Calamares variable expansion is **also** done on the environment strings.
|
||||
# Write `$$` to get a literal `$` in the shell command.
|
||||
#
|
||||
# To change the description of the job, set the *name* entries in *i18n*.
|
||||
---
|
||||
# Set to true to run in host, rather than target system
|
||||
dontChroot: false
|
||||
|
||||
# Tune this for the commands you're actually running, or
|
||||
# use the list-of-items form of commands to tune the timeout
|
||||
# for each command individually.
|
||||
timeout: 10
|
||||
|
||||
# This will copy the output from the command into the Calamares
|
||||
# log file. No processing is done beyond log-each-line-separately,
|
||||
# so this can introduce weirdness in the log if the script
|
||||
# outputs e.g. escape codes.
|
||||
#
|
||||
# The default is `false`. This can also be set for each
|
||||
# command individually.
|
||||
verbose: false
|
||||
|
||||
# Script may be a single string (because false returns an error exit
|
||||
# code, this will trigger a failure in the installation):
|
||||
#
|
||||
# script: "/usr/bin/false"
|
||||
|
||||
# Script may be a list of strings (because false returns an error exit
|
||||
# code, **but** the command starts with a "-", the error exit is
|
||||
# ignored and installation continues):
|
||||
#
|
||||
# script:
|
||||
# - "-/usr/bin/false"
|
||||
# - "/bin/ls"
|
||||
# - "/usr/bin/true"
|
||||
|
||||
# Script may be a list of items
|
||||
# - if the touch command fails, it is ignored
|
||||
# - there is nothing special about the invocation of true
|
||||
# - the slowloris command has a different timeout from the other commands
|
||||
# - the echo command logs its output line-by-line
|
||||
script:
|
||||
- "-touch ${ROOT}/tmp/thingy"
|
||||
- "/usr/bin/true"
|
||||
- command: "/usr/local/bin/slowloris"
|
||||
timeout: 3600
|
||||
- command: "echo -e '\e[33;2mred\e[33;0m' ; echo second line"
|
||||
verbose: true
|
||||
|
||||
# You can change the description of the job (as it is displayed in the
|
||||
# progress bar during installation) by defining an *i18n* key, which
|
||||
# has a *name* field and optionally, translations as *name[lang]*.
|
||||
#
|
||||
# Without a translation here, the default name from the source code
|
||||
# is used, "Shell Processes Job".
|
||||
#
|
||||
# i18n:
|
||||
# name: "Shell process"
|
||||
# name[nl]: "Schelpenpad"
|
||||
# name[en_GB]: "Just a moment"
|
||||
105
airootfs/usr/share/calamares/modules/tracking.conf
Normal file
105
airootfs/usr/share/calamares/modules/tracking.conf
Normal file
@@ -0,0 +1,105 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Settings for various kinds of tracking that Distributions can
|
||||
# enable. Distributions looking at tracking should be aware of
|
||||
# the privacy (and hence communications) impact of that tracking,
|
||||
# and are advised to consult the Mozilla and KDE policies on
|
||||
# privacy and user tracking.
|
||||
#
|
||||
# There are three areas of tracking (-configuration) supported
|
||||
# by Calamares It is up to individual Distributions to create
|
||||
# suitable backends / configuration scripts for each. The
|
||||
# different areas are:
|
||||
#
|
||||
# install: This is "phone home" functionality at the end of the
|
||||
# install process. When enabled, it contacts the given
|
||||
# URL. The URL can contain the special token $MACHINE,
|
||||
# which is replaced by the machine-id of the installed
|
||||
# system (if available, blank otherwise).
|
||||
#
|
||||
# machine: This enables machine-level tracking on a (semi-)
|
||||
# continuous basis. It is meant to keep track of installed
|
||||
# systems and their continued use / updating.
|
||||
#
|
||||
# user: This area enables user-level tracking, along the lines
|
||||
# of the KDE User Telemetry Policy. It enables specific
|
||||
# collection of data at a user- and application-level,
|
||||
# possibly including actions done in an application.
|
||||
# For the KDE environment, this enables user tracking
|
||||
# with the appropriate framework, and the KDE User Telemetry
|
||||
# policy applies.
|
||||
#
|
||||
# Each area has a key *enabled*. If the area is enabled, it is shown to
|
||||
# the user. This defaults to false, which means no tracking would be
|
||||
# configured or enabled by Calamares.
|
||||
#
|
||||
# Each area has a key *policy*, which is a Url to be opened when
|
||||
# the user clicks on the corresponding Help button for an explanation
|
||||
# of the details of that particular kind of tracking. If no policy
|
||||
# is set, that tracking style is disabled. The example policy links
|
||||
# go to Calamares' generic user manual (which is a terrible idea
|
||||
# for a distribution: you have GDPR obligations under most of these
|
||||
# tracking styles, so do your homework).
|
||||
#
|
||||
# Each area may have other configuration keys, depending on the
|
||||
# area and how it needs to be configured.
|
||||
#
|
||||
# Globally, there are two other keys:
|
||||
#
|
||||
# policy: (optional) url about tracking settings for this distro.
|
||||
# default: (optional) level to enable by default
|
||||
#
|
||||
---
|
||||
# This is the global policy; it is displayed as a link on the page.
|
||||
# If blank or commented out, no link is displayed on the tracking
|
||||
# page. You **must** provide policy links per-area as well.
|
||||
policy: "https://calamares.io/docs/tracking#policy"
|
||||
|
||||
# This is the default area to enable for tracking. If commented out,
|
||||
# empty, or otherwise invalid, "none" is used, so no tracking by default.
|
||||
# Setting an area here also checks the areas before it (install, machine,
|
||||
# then user) by default -- subject to those areas being enabled at all.
|
||||
# default: user
|
||||
|
||||
# The install area has one specific configuration key:
|
||||
# url: this URL (remember to include the protocol, and prefer https)
|
||||
# is fetched (with a GET request, and the data discarded) at
|
||||
# the end of the installation process. The following tokens
|
||||
# are replaced in the url (possibly by blank strings, or by 0).
|
||||
# - $CPU (cpu make and model)
|
||||
# - $MEMORY (amount of main memory available)
|
||||
# - $DISK (total amount of disk attached)
|
||||
# Typically these are used as GET parameters, as in the example.
|
||||
#
|
||||
# Note that phone-home only works if the system has an internet
|
||||
# connection; it is a good idea to require internet in the welcome
|
||||
# module then.
|
||||
install:
|
||||
enabled: false
|
||||
policy: "https://calamares.io/docs/tracking#policy"
|
||||
url: "https://example.com/install.php?c=$CPU&m=$MEMORY"
|
||||
|
||||
# The machine area has one specific configuration key:
|
||||
# style: This string specifies what kind of tracking configuration
|
||||
# needs to be done. See below for valid styles.
|
||||
#
|
||||
# Available styles:
|
||||
# - *updatemanager* replaces the literal string "${MACHINE_ID}" with the contents of
|
||||
# /etc/machine-id, in lines starting with "URI" in the file /etc/update-manager/meta-release
|
||||
machine:
|
||||
enabled: false
|
||||
style: updatemanager
|
||||
policy: "https://calamares.io/docs/tracking#policy"
|
||||
|
||||
# The user area has one specific configuration key:
|
||||
# style: This string specifies what kind of tracking configuration
|
||||
# needs to be done. See below for valid styles.
|
||||
#
|
||||
# Available styles:
|
||||
# - *kuserfeedback* sets up KUserFeedback tracking (applicable to the KDE
|
||||
# Plasma Desktop) for each KUserFeedback area listed in *areas*.
|
||||
user:
|
||||
enabled: false
|
||||
style: kuserfeedback
|
||||
areas: [ PlasmaUserFeedback ]
|
||||
14
airootfs/usr/share/calamares/modules/umount.conf
Normal file
14
airootfs/usr/share/calamares/modules/umount.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
### Umount Module
|
||||
#
|
||||
# This module represents the last part of the installation, the unmounting
|
||||
# of partitions used for the install. After this, there is no regular way
|
||||
# to modify the target system anymore.
|
||||
#
|
||||
|
||||
---
|
||||
# Setting emergency to true will make it so this module is still run
|
||||
# when a prior module fails
|
||||
emergency: true
|
||||
123
airootfs/usr/share/calamares/modules/unpackfs.conf
Normal file
123
airootfs/usr/share/calamares/modules/unpackfs.conf
Normal file
@@ -0,0 +1,123 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Unsquash / unpack a filesystem. Multiple sources are supported, and
|
||||
# they may be squashed or plain filesystems.
|
||||
#
|
||||
# Configuration:
|
||||
#
|
||||
# from globalstorage: rootMountPoint
|
||||
# from job.configuration: the path to where to mount the source image(s)
|
||||
# for copying an ordered list of unpack mappings for image file <->
|
||||
# target dir relative to rootMountPoint.
|
||||
|
||||
---
|
||||
# Each list item is unpacked, in order, to the target system.
|
||||
#
|
||||
# Each list item has the following **mandatory** attributes:
|
||||
# - *source* path relative to the live / intstalling system to the image
|
||||
# - *sourcefs* the type of the source files; valid entries are
|
||||
# - `ext4` (copies the filesystem contents)
|
||||
# - `squashfs` (unsquashes)
|
||||
# - `file` (copies a file or directory)
|
||||
# - (may be others if mount supports it)
|
||||
# - *destination* path relative to rootMountPoint (so in the target
|
||||
# system) where this filesystem is unpacked. It may be an
|
||||
# empty string, which effectively is / (the root) of the target
|
||||
# system.
|
||||
#
|
||||
# Each list item **optionally** can include the following attributes:
|
||||
# - *exclude* is a list of values that is expanded into --exclude
|
||||
# arguments for rsync (each entry in exclude gets its own --exclude).
|
||||
# - *excludeFile* is a single file that is passed to rsync as an
|
||||
# --exclude-file argument. This should be a full pathname
|
||||
# inside the **host** filesystem.
|
||||
# - *weight* is useful when the entries take wildly different
|
||||
# times to unpack (e.g. with a squashfs, and one single file)
|
||||
# and the total weight of this module should be distributed
|
||||
# differently between the entries. (This is only relevant when
|
||||
# there is more than one entry; by default all the entries
|
||||
# have the same weight, 1)
|
||||
#
|
||||
# EXAMPLES
|
||||
#
|
||||
# Usually you list a filesystem image to unpack; you can use
|
||||
# squashfs or an ext4 image. An empty destination is equivalent to "/",
|
||||
# the root of the target system. The destination directory must exist
|
||||
# in the target system.
|
||||
#
|
||||
# - source: "/path/to/filesystem.sqfs"
|
||||
# sourcefs: "squashfs"
|
||||
# destination: ""
|
||||
#
|
||||
# Multiple entries are unpacked in-order; if there is more than one
|
||||
# item then only the first must exist beforehand -- it's ok to
|
||||
# create directories with one unsquash and then to use those
|
||||
# directories as a target from a second unsquash.
|
||||
#
|
||||
# - source: "/path/to/another/filesystem.img"
|
||||
# sourcefs: "ext4"
|
||||
# destination: ""
|
||||
# - source: "/path/to/another/filesystem2.img"
|
||||
# sourcefs: "ext4"
|
||||
# destination: "/usr/lib/extra"
|
||||
#
|
||||
# You can list filesystem source paths relative to the Calamares run
|
||||
# directory, if you use -d (this is only useful for testing, though).
|
||||
#
|
||||
# - source: ./example.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
#
|
||||
# You can list individual files (copied one-by-one), or directories
|
||||
# (the files inside this directory are copied directly to the destination,
|
||||
# so no "dummycpp/" subdirectory is created in this example).
|
||||
# Do note that the target directory must exist already (e.g. from
|
||||
# extracting some other filesystem).
|
||||
#
|
||||
# - source: ../CHANGES
|
||||
# sourcefs: file
|
||||
# destination: "/tmp/derp"
|
||||
# - source: ../src/modules/dummycpp
|
||||
# sourcefs: file
|
||||
# destination: "/tmp/derp"
|
||||
#
|
||||
# The *destination* and *source* are handed off to rsync, so the semantics
|
||||
# of trailing slashes apply. In order to *rename* a file as it is
|
||||
# copied, specify one single file (e.g. CHANGES) and a full pathname
|
||||
# for its destination name, as in the example below.
|
||||
#
|
||||
# It is also possible to dynamically (conditionally) unpack a source by passing a boolean
|
||||
# value for *condition*. This may be true or false (constant) or name a globalstorage
|
||||
# value. Use '.' to separate parts of a globalstorage name if it is nested.
|
||||
#
|
||||
# This is used in e.g. stacked squashfses, where the user can select a specific
|
||||
# install type. The default value of *condition* is true.
|
||||
#
|
||||
# - source: ./example.minimal.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# condition: false
|
||||
# - source: ./example.standard.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# condition: exampleGlobalStorageVariable.subkey
|
||||
#
|
||||
# You may also wish to include optional squashfses, which may not exist at certain times
|
||||
# depending on your image tooling. If an optional squashfs is not found, it is simply
|
||||
# skipped.
|
||||
#
|
||||
# - source: ./example.standard.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# - source: ./example.extras.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# optional: true
|
||||
unpack:
|
||||
- source: "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs"
|
||||
sourcefs: "squashfs"
|
||||
destination: ""
|
||||
- source: "/run/archiso/bootmnt/arch/boot/x86_64/vmlinuz-linux"
|
||||
sourcefs: "file"
|
||||
destination: "/boot/vmlinuz-linux"
|
||||
74
airootfs/usr/share/calamares/modules/unpackfsc.conf
Normal file
74
airootfs/usr/share/calamares/modules/unpackfsc.conf
Normal file
@@ -0,0 +1,74 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Unpack a filesystem. Supported ways to "pack" the filesystem are:
|
||||
# - erofs
|
||||
# Enhanced Read-Only File System is a relatively new filesystem, introduced
|
||||
# in 2019 with Linux 5.4, which is optimised for runtime performance. EROFS
|
||||
# has compression options similar to that of SquashFS, however, in
|
||||
# direct head to head comparison, as of 2025, the EROFS compression
|
||||
# algorithms are not as performant; it takes longer to pack a filesystem and
|
||||
# the compression size is not quite as good. EROFS is under active
|
||||
# development.
|
||||
# .
|
||||
# Wikipedia: https://en.wikipedia.org/wiki/EROFS
|
||||
# Upstream documentation: https://erofs.docs.kernel.org/en/latest/
|
||||
# .
|
||||
# erofs-utils contains mkfs.erofs, fsck.erofs and dump.erofs utilities
|
||||
# which are required to pack, inspect and extract erofs files.
|
||||
# - fsarchiver in *savedir/restdir* mode (directories, not block devices)
|
||||
# - squashfs
|
||||
# SquashFS is a compressed read-only file system for Linux that was
|
||||
# introduced in 2002. It supports deduplication and has mature and
|
||||
# performant compression algorithms.
|
||||
# .
|
||||
# Wikipedia: https://en.wikipedia.org/wiki/SquashFS
|
||||
# Upstream documentation: https://github.com/plougher/squashfs-tools
|
||||
# .
|
||||
# squashfs-tools contains mksquashfs and unsquashfs utilities which are
|
||||
# required to pack and extract squashfs files.
|
||||
#
|
||||
# Configuration:
|
||||
#
|
||||
# from globalstorage: rootMountPoint
|
||||
# from job configuration: the item to unpack
|
||||
#
|
||||
|
||||
---
|
||||
# This module is configured a lot like the items in the *unpackfs*
|
||||
# module, but with only **one** item. Use multiple instances for
|
||||
# unpacking more than one filesystem.
|
||||
#
|
||||
# There are the following **mandatory** keys:
|
||||
# - *source* path relative to the live / intstalling system to the image
|
||||
# - *sourcefs* the type of the source files; valid entries are
|
||||
# - `none` (this entry is ignored; kind of useless)
|
||||
# - `erofs`
|
||||
# - `fsarchiver`
|
||||
# Aliases of this are `fsarchive`, `fsa` and `fsa-dir`. Uses
|
||||
# fsarchiver in "restdir" mode.
|
||||
# - `fsarchiver-block`
|
||||
# Aliases of this are `fsa-block` and `fsa-fs`. Uses fsarchiver
|
||||
# in "restfs" mode.
|
||||
# - `squashfs`
|
||||
# Aliases of this are `squash` and `unsquash`.
|
||||
# - `tar`
|
||||
# - *destination* path relative to rootMountPoint (so in the target
|
||||
# system) where this filesystem is unpacked. It may be an
|
||||
# empty string, which effectively is / (the root) of the target
|
||||
# system.
|
||||
#
|
||||
#
|
||||
# There are the following **optional** keys:
|
||||
# - *condition* sets a dynamic condition on unpacking the item in
|
||||
# this job. This may be true or false (constant) or name a globalstorage
|
||||
# value. Use '.' to separate parts of a globalstorage name if it is nested.
|
||||
# Remember to quote names.
|
||||
#
|
||||
# A condition is used in e.g. stacked squashfses, where the user can select
|
||||
# a specific install type. The default value of *condition* is true.
|
||||
|
||||
source: /data/rootfs.fsa
|
||||
sourcefs: fsarchiver
|
||||
destination: "/"
|
||||
# condition: true
|
||||
312
airootfs/usr/share/calamares/modules/users.conf
Normal file
312
airootfs/usr/share/calamares/modules/users.conf
Normal file
@@ -0,0 +1,312 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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*.
|
||||
defaultGroups:
|
||||
- name: users
|
||||
must_exist: true
|
||||
system: true
|
||||
- lp
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- name: wheel
|
||||
must_exist: false
|
||||
system: true
|
||||
- audio
|
||||
- name: nopasswdlogin
|
||||
must_exist: false
|
||||
system: true
|
||||
|
||||
# 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.
|
||||
#
|
||||
# Remember to add the (value of) *autologinGroup* to *defaultGroups*.
|
||||
autologinGroup: autologin
|
||||
|
||||
# See also *user.nopasswd_group* for another group that is optionally added to the user
|
||||
|
||||
### 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: true
|
||||
|
||||
|
||||
### 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.
|
||||
|
||||
# Autologin choice can be display to the user.
|
||||
# Possible values are:
|
||||
# - true to display it
|
||||
# - false to hide it
|
||||
# By default, this value is set to true.
|
||||
displayAutologin: true
|
||||
|
||||
# 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: true
|
||||
|
||||
# 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: false
|
||||
# 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).
|
||||
# - *home_permissions* Home directory of the user is given **approximately**
|
||||
# this set of permissions. If not set, there is no default and no
|
||||
# permission-setting is done (uses defaults of `useradd` in the target).
|
||||
# A umask is computed from these permissions
|
||||
# and passed to `useradd`.
|
||||
#
|
||||
# You may write permissions as:
|
||||
# - write "NNN" (three octal digits) or
|
||||
# - write "oNNN" (small 'o' and three octal digits) or
|
||||
# - write "rwxrwxrwx" (like the output of ls, with a - for unset bits)
|
||||
# The following permissions mean the same thing: "o750", "rwxr-x---" .
|
||||
# - *nopasswd_group* If set, **and** the user sets no password, then
|
||||
# the user is added to this group as well. Whether "no password" is
|
||||
# allowed depends on other settings in this module; distributions that
|
||||
# require a specific group for "no password" login should set this
|
||||
# **and** configure the group in the *defaultGroups* section, above.
|
||||
# The default is unset; this example configuration is non-default.
|
||||
user:
|
||||
shell: /bin/bash
|
||||
forbidden_names: [ root ]
|
||||
home_permissions: "o700"
|
||||
nopasswd_group: "nopasswdlogin"
|
||||
|
||||
|
||||
# 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: EtcFile
|
||||
writeHostsFile: true
|
||||
template: "derp-${cpu}"
|
||||
forbidden_names: [ localhost ]
|
||||
|
||||
# Enable Active Directory enrollment support (opt-in)
|
||||
#
|
||||
# This uses realmd to enroll the machine in an Active Directory server
|
||||
# It requires realmd as a runtime dependency of Calamares, if enabled
|
||||
allowActiveDirectory: false
|
||||
|
||||
presets:
|
||||
fullName:
|
||||
# value: "OEM User"
|
||||
editable: true
|
||||
loginName:
|
||||
# value: "oem"
|
||||
editable: true
|
||||
44
airootfs/usr/share/calamares/modules/usersq.conf
Normal file
44
airootfs/usr/share/calamares/modules/usersq.conf
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# For documentation see Users Module users.conf
|
||||
#
|
||||
---
|
||||
# Used as default groups for the created user.
|
||||
# Adjust to your Distribution defaults.
|
||||
defaultGroups:
|
||||
- users
|
||||
- lp
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- wheel
|
||||
- audio
|
||||
- lpadmin
|
||||
|
||||
autologinGroup: autologin
|
||||
|
||||
doAutologin: true
|
||||
|
||||
sudoersGroup: wheel
|
||||
|
||||
setRootPassword: true
|
||||
|
||||
doReusePassword: true
|
||||
|
||||
passwordRequirements:
|
||||
minLength: -1
|
||||
maxLength: -1
|
||||
libpwquality:
|
||||
- minlen=0
|
||||
- minclass=0
|
||||
|
||||
allowWeakPasswords: false
|
||||
|
||||
allowWeakPasswordsDefault: false
|
||||
|
||||
userShell: /bin/bash
|
||||
|
||||
setHostname: EtcFile
|
||||
|
||||
writeHostsFile: true
|
||||
138
airootfs/usr/share/calamares/modules/welcome.conf
Normal file
138
airootfs/usr/share/calamares/modules/welcome.conf
Normal file
@@ -0,0 +1,138 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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<buttonname>* 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: false
|
||||
# TODO:3.3 Move to branding, keep only a bool here
|
||||
showDonateUrl: https://kde.org/community/donations/
|
||||
|
||||
# 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: 5.5
|
||||
|
||||
# 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 own
|
||||
# distribution domain.
|
||||
#
|
||||
# The URL is only used if "internet" is in the *check* list below.
|
||||
internetCheckUrl: http://example.com
|
||||
#
|
||||
# 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
|
||||
- root
|
||||
- screen
|
||||
- "false"
|
||||
- slow-true
|
||||
- snark
|
||||
# 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
|
||||
# - root
|
||||
|
||||
# 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
|
||||
40
airootfs/usr/share/calamares/modules/welcomeq.conf
Normal file
40
airootfs/usr/share/calamares/modules/welcomeq.conf
Normal file
@@ -0,0 +1,40 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the welcomeq module.
|
||||
#
|
||||
# The configuration for welcomeq is exactly the same
|
||||
# as the welcome module, with the one exception of
|
||||
# *qmlSearch* which governs QML loading.
|
||||
#
|
||||
# No documentation is given here: look in the welcome module.
|
||||
---
|
||||
# Setting for QML loading: use QRC, branding, or both sources of files
|
||||
qmlSearch: both
|
||||
|
||||
# Everythin below here is documented in `welcome.conf`
|
||||
showSupportUrl: true
|
||||
showKnownIssuesUrl: true
|
||||
showReleaseNotesUrl: true
|
||||
# showDonateUrl: https://kde.org/community/donations/
|
||||
|
||||
requirements:
|
||||
requiredStorage: 5.5
|
||||
requiredRam: 1.0
|
||||
internetCheckUrl: http://google.com
|
||||
check:
|
||||
- storage
|
||||
- ram
|
||||
- power
|
||||
- internet
|
||||
- root
|
||||
- screen
|
||||
required:
|
||||
- ram
|
||||
|
||||
geoip:
|
||||
style: "none"
|
||||
url: "https://geoip.kde.org/v1/ubiquity" # extended XML format
|
||||
selector: "CountryCode" # blank uses default, which is wrong
|
||||
|
||||
#languageIcon: languages
|
||||
45
airootfs/usr/share/calamares/modules/zfs.conf
Normal file
45
airootfs/usr/share/calamares/modules/zfs.conf
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# The zfs module creates the zfs pools and datasets
|
||||
#
|
||||
#
|
||||
#
|
||||
---
|
||||
# The name to be used for the zpool
|
||||
poolName: zpcala
|
||||
|
||||
# A list of options that will be passed to zpool create
|
||||
#
|
||||
# Encryption options should generally not be added here since they will be added by
|
||||
# selecting the encrypt disk option in the partition module
|
||||
poolOptions: "-f -o ashift=12 -O mountpoint=none -O acltype=posixacl -O relatime=on"
|
||||
|
||||
# A list of options that will be passed to zfs create when creating each dataset
|
||||
# Do not include "canmount" or "mountpoint" as those are set below in the datasets array
|
||||
datasetOptions: "-o compression=lz4 -o atime=off -o xattr=sa"
|
||||
|
||||
# An array of datasets that will be created on the zpool mounted at /
|
||||
#
|
||||
# This default configuration is commonly used when support for booting more than one distro
|
||||
# out of a single zpool is desired. If you decide to keep this default configuration,
|
||||
# you should replace "distro" with an identifier that represents your distro.
|
||||
datasets:
|
||||
- dsName: ROOT
|
||||
mountpoint: none
|
||||
canMount: off
|
||||
- dsName: ROOT/distro
|
||||
mountpoint: none
|
||||
canMount: off
|
||||
- dsName: ROOT/distro/root
|
||||
mountpoint: /
|
||||
canMount: noauto
|
||||
- dsName: ROOT/distro/home
|
||||
mountpoint: /home
|
||||
canMount: on
|
||||
- dsName: ROOT/distro/varcache
|
||||
mountpoint: /var/cache
|
||||
canMount: on
|
||||
- dsName: ROOT/distro/varlog
|
||||
mountpoint: /var/log
|
||||
canMount: on
|
||||
Reference in New Issue
Block a user