diff options
Diffstat (limited to 'linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules')
22 files changed, 1241 insertions, 0 deletions
diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/bootloader.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/bootloader.conf new file mode 100644 index 0000000..80e0458 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/bootloader.conf @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the bootloader module. +# +--- + +efiBootLoader: "grub" + +kernel: "/vmlinuz-linux" +img: "/initramfs-linux.img" +fallback: "/initramfs-linux-fallback.img" +timeout: "5" + +efiBootloaderId: "linhes" + +grubInstall: "grub-install" +grubMkconfig: "grub-mkconfig" +grubCfg: "/boot/grub/grub.cfg" +grubProbe: "grub-probe" +efiBootMgr: "efibootmgr" + +installEFIFallback: true diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/displaymanager.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/displaymanager.conf new file mode 100644 index 0000000..d786b81 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/displaymanager.conf @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the displaymanager module. +# +--- + +displaymanagers: + - sddm + +basicSetup: false + +sysconfigSetup: false + +sddm: + configuration_file: "/etc/sddm.conf" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf new file mode 100644 index 0000000..b0647fe --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf @@ -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-checked + +# 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 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/fstab.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/fstab.conf new file mode 100644 index 0000000..f8d625a --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/fstab.conf @@ -0,0 +1,17 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the fstab module. +# +--- + +crypttabOptions: luks + +tmpOptions: + default: + tmpfs: false + options: "" + ssd: + tmpfs: true + options: "defaults,noatime,mode=1777" + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/grubcfg.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/grubcfg.conf new file mode 100644 index 0000000..6b297f3 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/grubcfg.conf @@ -0,0 +1,21 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the grugcfg module. +# +--- + +overwrite: false + +prefer_grub_d: false + +keepDistributor: false + +defaults: + GRUB_TIMEOUT: 5 + GRUB_DEFAULT: "saved" + GRUB_DISABLE_SUBMENU: true + GRUB_TERMINAL_OUTPUT: "console" + GRUB_DISABLE_RECOVERY: true + +always_use_defaults: false diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf new file mode 100644 index 0000000..d2a1268 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf @@ -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 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpiocfg.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpiocfg.conf new file mode 100644 index 0000000..f02898f --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpiocfg.conf @@ -0,0 +1,11 @@ +# 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 +# +--- + +useSystemdHook: false + +source: "/etc/mkinitcpio.conf" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/keyboard.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/keyboard.conf new file mode 100644 index 0000000..e51debc --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/keyboard.conf @@ -0,0 +1,10 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the keyboard module. +# +--- + +xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf" + +convertedKeymapPath: "/lib/kbd/keymaps/xkb" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/locale.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/locale.conf new file mode 100644 index 0000000..cfeca78 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/locale.conf @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the locale module. +# +--- + +region: "" +zone: "" + +geoip: + style: "json" + url: "https://geoip.kde.org/v1/calamares" + selector: "" # leave blank for the default diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/luksopenswaphookcfg.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/luksopenswaphookcfg.conf new file mode 100644 index 0000000..1ec7e5b --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/luksopenswaphookcfg.conf @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Writes an openswap configuration with LUKS settings to the given path +# +--- + +configFilePath: /etc/openswap.conf diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/machineid.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/machineid.conf new file mode 100644 index 0000000..a9719a3 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/machineid.conf @@ -0,0 +1,20 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Machine-ID and other random data on the target system. +# +--- + +systemd: true + +systemd-style: uuid + +dbus: true + +dbus-symlink: true + +entropy-copy: false + +entropy-files: + - /var/lib/urandom/random-seed + - /var/lib/systemd/random-seed diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/mount.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/mount.conf new file mode 100644 index 0000000..c60aed5 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/mount.conf @@ -0,0 +1,52 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the mount module. +# +--- + +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 + +btrfsSubvolumes: + - mountPoint: / + subvolume: /@ + - mountPoint: /home + subvolume: /@home + - mountPoint: /var/cache + subvolume: /@cache + - mountPoint: /var/log + subvolume: /@log + +btrfsSwapSubvol: /@swap + +mountOptions: + - filesystem: default + options: [ defaults ] + - filesystem: efi + options: [ defaults, umask=0077 ] + - filesystem: ext4 + options: [ defaults, noatime, nodiscard ] + - filesystem: btrfs + options: [ defaults, noatime, nodiscard, noautodefrag ] + ssdOptions: [ ssd ] + - filesystem: btrfs_swap + options: [ defaults, noatime ] diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf new file mode 100644 index 0000000..9fa3b31 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf @@ -0,0 +1,222 @@ +# 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 +# - 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: pacman + +# +# 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: false +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: + - try_remove: + - plasma-framework + - kpmcore + - yaml-cpp + - mkinitcpio-archiso + - boost-libs + - ckbcomp + - hwinfo + - qt5-xmlpatterns + - squashfs-tools + - kconfig + - kcoreaddons + - kiconthemes + - ki18n + - kio + - solid + - qt5-svg + - calamares diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf new file mode 100644 index 0000000..262f8ee --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf @@ -0,0 +1,43 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the partition module. +# +--- + +efi: + mountPoint: "/efi" + recommendedSize: 1024MiB + minimumSize: 1024MiB + label: "EFI" + +userSwapChoices: + - none # Create no swap, use no swap + - small # Up to 4GB + - suspend # At least main memory size + - file # To swap file instead of partition + +swapPartitionName: SWAP + +luksGeneration: luks1 + +drawNestedPartitions: false + +alwaysShowPartitionLabels: true + +allowManualPartitioning: true + +showNotEncryptedBootMessage: true + +initialPartitioningChoice: none + +initialSwapChoice: file + +# If nothing is specified, Calamares defaults to "gpt" if +# system is efi or "msdos" otherwise +# +# defaultPartitionTableType: msdos + +defaultFileSystemType: "ext4" + +availableFileSystemTypes: ["ext4","btrfs","xfs"] diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf new file mode 100644 index 0000000..379d2fc --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf @@ -0,0 +1,67 @@ +# 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 as follows: +# - `@@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:root:644 + - from: config + dest: /var/log/Calamares-install.json + perm: root:root:644 +# - 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" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf new file mode 100644 index 0000000..0b5b39c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf @@ -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: km diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/services-systemd.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/services-systemd.conf new file mode 100644 index 0000000..be9ad91 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/services-systemd.conf @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Systemd services manipulation. +# +--- + +units: + - name: "systemd-networkd.service" + action: "disable" + - name: "avahi-daemon.service" + action: "enable" + - name: "fstrim.timer" + action: "enable" + - name: "plocate-updatedb.timer" + action: "enable" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf new file mode 100644 index 0000000..c3fd7ab --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf @@ -0,0 +1,80 @@ +# 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. +# +# Variables are written as `${var}`, e.g. `${ROOT}`. +# +# 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. +# +# 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 (this is not useful). +# - 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. +# +# Using a single object is not useful because the same effect can +# be obtained with a single string and a global timeout, but when +# there are multiple commands to execute, one of them might have +# a different timeout than the others. +# +# 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 +timeout: 999 + +# 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; the slowloris command has a different timeout from the +# other commands in the list): +script: + - "-/usr/bin/pacman-key --init" + - "-/usr/bin/pacman-key --populate" + - "-rm ${ROOT}/etc/skel/Desktop/calamares.desktop" + - "-rm ${ROOT}/etc/skel/.config/autostart/calamares.desktop" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf new file mode 100644 index 0000000..7884d95 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf @@ -0,0 +1,92 @@ +# 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. +# +# Variables are written as `${var}`, e.g. `${ROOT}`. +# +# 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. +# +# 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 (this is not useful). +# - 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. +# +# Using a single object is not useful because the same effect can +# be obtained with a single string and a global timeout, but when +# there are multiple commands to execute, one of them might have +# a different timeout than the others. +# +# To change the description of the job, set the *name* entries in *i18n*. +--- + +i18n: + name: "Cleanup new install files." + +# Set to true to run in host, rather than target system +dontChroot: false +# Tune this for the commands you're actually running +timeout: 999 + +# 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; the slowloris command has a different timeout from the +# other commands in the list): +script: + - "-rm ${ROOT}etc/sudoers.d/g_wheel" + - "-rm -r ${ROOT}etc/systemd/system/getty@tty1.service.d" + - "-rm -r ${ROOT}etc/systemd/system/multi-user.target.wants/pacman-init.service" + - "-rm -r ${ROOT}etc/systemd/system/pacman-init.service" + - "-rm ${ROOT}etc/systemd/system/etc-pacman.d-gnupg.mount" + - "-rm ${ROOT}root/.automated_script.sh" + - "-rm ${ROOT}root/.zlogin" + - "-rm -r ${ROOT}etc/calamares/" + - "-rm -r ${ROOT}etc/systemd/system/locale-gen.service" + - "-rm ${ROOT}etc/polkit-1/rules.d/49-nopasswd_global.rules" + - "-rm ${ROOT}etc/sddm.conf" + - "sed -i 's/User=km/User=${USER}/g' ${ROOT}etc/sddm.conf.d/autologin.conf" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf new file mode 100644 index 0000000..6bf2ff2 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf @@ -0,0 +1,96 @@ +# 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. + +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" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf new file mode 100644 index 0000000..09b83a8 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf @@ -0,0 +1,226 @@ +# 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. +--- +# 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 + - adm + - lp + - power + - video + - network + - storage + - name: wheel + must_exist: false + system: true + - audio + - sys + - optical + - scanner + - rfkill + - uucp + - sambashare + +# Some Distributions require a 'autologin' group for the user. +# Autologin causes a user to become automatically logged in to +# the desktop environment on boot. +# Disable when your Distribution does not require such a group. +autologinGroup: autologin +# 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 + +# 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 +# If set to `false` (the default), writes a sudoers file with `(ALL)` +# so that the command can be run as any user. If set to `true`, writes +# `(ALL:ALL)` so that any user and any group can be chosen. +sudoersConfigureWithGroup: true + +# 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 + +# 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. +# +# - nonempty rejects empty passwords +# - there are no length validations +# - libpwquality (if it is enabled at all) has no length of class +# restrictions, although it will still reject palindromes and +# dictionary words with these settings. +# +# Checks may be listed multiple times; each is checked separately, +# and 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). +# +# The libpwquality check relies on the (optional) libpwquality library. +# Its value is a list of configuration statements that could also +# be found in pwquality.conf, and these 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 specific password validations: +# comment out the relevant 'passwordRequirements' keys below. +# - To disable all password validations: +# set both 'allowWeakPasswords' and 'allowWeakPasswordsDefault' to true. +# (That will show the box *Allow weak passwords* in the user- +# interface, and check it by default). +#passwordRequirements: +# nonempty: true +# minLength: -1 # Password at least this many characters +# maxLength: -1 # Password at most this many characters +# libpwquality: +# - minlen=0 +# - minclass=0 + +# 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: true + +# User settings +# +# The user can enter a username, but there are some other +# hidden settings for the user which are configurable in Calamares. +# +# Key *user* has the following sub-keys: +# +# - *shell* Shell to be used for the regular user of the target system. +# There are three possible kinds of settings: +# - unset (i.e. commented out, the default), act as if set to /bin/bash +# - empty (explicit), don't pass shell information to useradd at all +# and rely on a correct configuration file in /etc/default/useradd +# - set, non-empty, use that path as shell. No validation is done +# that the shell actually exists or is executable. +# - *forbidden_names* Login names that may not be used. This list always +# contains "root" and "nobody", but may be extended to list other special +# names for a given distro (eg. "video", or "mysql" might not be a valid +# end-user login name). +user: + shell: /bin/bash + forbidden_names: [ root ] + home_permissions: "0700" + +# 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: "${first}-${product}" + forbidden_names: [ localhost ] + +presets: + fullName: + value: "mythtv" + editable: true + loginName: + value: "mythtv" + editable: true diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf new file mode 100644 index 0000000..490b627 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf @@ -0,0 +1,121 @@ +# 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: false +showKnownIssuesUrl: false +showReleaseNotesUrl: false +# TODO:3.3 Move to branding, keep only a bool here +showDonateUrl: false + +# 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: 6 + + # Amount of available RAM, in GiB. Floating-point is allowed here. + requiredRam: 1.0 + + # To check for internet connectivity, Calamares does a HTTP GET + # on this URL; on success (e.g. HTTP code 200) internet is OK. + # Use a privacy-respecting URL here, preferably in your distro's domain. + # + # The URL is only used if "internet" is in the *check* list below. + internetCheckUrl: 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. + check: + - storage + - ram + - power + - internet + - root + - screen + + # List conditions that **must** be satisfied (from the list + # of conditions, above) for installation to proceed. + # If any of these conditions are not met, the user cannot + # continue past the welcome page. + required: + - storage + - ram + # - 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 |