Initial commit
87
branding/tromjaro/branding.desc
Normal file
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
componentName: tromjaro
|
||||
|
||||
# This selects between different welcome texts. When false, uses
|
||||
# the traditional "Welcome to the %1 installer.", and when true,
|
||||
# uses "Welcome to the Calamares installer for %1." This allows
|
||||
# to distinguish this installer from other installers for the
|
||||
# same distribution.
|
||||
welcomeStyleCalamares: false
|
||||
|
||||
# Should the welcome image (productWelcome, below) be scaled
|
||||
# up beyond its natural size? If false, the image does not grow
|
||||
# with the window but remains the same size throughout (this
|
||||
# may have surprising effects on HiDPI monitors).
|
||||
welcomeExpandingLogo: true
|
||||
|
||||
# Size and expansion policy for Calamares.
|
||||
# - "normal" or unset, expand as needed, use *windowSize*
|
||||
# - "fullscreen", start as large as possible, ignore *windowSize*
|
||||
# - "noexpand", never expand, use *windowSize*
|
||||
windowExpanding: noexpand
|
||||
|
||||
# Size of Calamares window, expressed as w,h. Both w and h
|
||||
# may be either pixels (suffix px) or font-units (suffix em).
|
||||
# e.g. "800px,600px"
|
||||
# "60em,480px"
|
||||
# This setting is ignored if "fullscreen" is selected for
|
||||
# *windowExpanding*, above. If not set, use constants defined
|
||||
# in CalamaresUtilsGui, 800x520.
|
||||
windowSize: 800px,520px
|
||||
|
||||
# These are strings shown to the user in the user interface.
|
||||
# There is no provision for translating them -- since they
|
||||
# are names, the string is included as-is.
|
||||
#
|
||||
# The four Url strings are the Urls used by the buttons in
|
||||
# the welcome screen, and are not shown to the user. Clicking
|
||||
# on the "Support" button, for instance, opens the link supportUrl.
|
||||
# If a Url is empty, the corresponding button is not shown.
|
||||
#
|
||||
# bootloaderEntryName is how this installation / distro is named
|
||||
# in the boot loader (e.g. in the GRUB menu).
|
||||
strings:
|
||||
productName: TROMjaro Linux
|
||||
shortProductName: TROMjaro
|
||||
version: 18.0
|
||||
shortVersion: 18.0
|
||||
versionedName: TROMjaro Linux 18.0 "Illyria"
|
||||
shortVersionedName: TROMjaro 18.0
|
||||
bootloaderEntryName: TROMjaro
|
||||
|
||||
# These images are loaded from the branding module directory.
|
||||
#
|
||||
# productIcon is used as the window icon, and will (usually) be used
|
||||
# by the window manager to represent the application. This image
|
||||
# should be square, and may be displayed by the window manager
|
||||
# as small as 16x16 (but possibly larger).
|
||||
# productLogo is used as the logo at the top of the left-hand column
|
||||
# which shows the steps to be taken. The image should be square,
|
||||
# and is displayed at 80x80 pixels (also on HiDPI).
|
||||
# productWelcome is shown on the welcome page of the application in
|
||||
# the middle of the window, below the welcome text. It can be
|
||||
# any size and proportion, and will be scaled to fit inside
|
||||
# the window. Use `welcomeExpandingLogo` to make it non-scaled.
|
||||
# Recommended size is 320x150.
|
||||
images:
|
||||
productLogo: "logo.png"
|
||||
productIcon: "logo.png"
|
||||
productWelcome: "languages.png"
|
||||
|
||||
# The slideshow is displayed during execution steps (e.g. when the
|
||||
# installer is actually writing to disk and doing other slow things).
|
||||
slideshow: "show.qml"
|
||||
|
||||
# Colors for text and background components.
|
||||
#
|
||||
# - sidebarBackground is the background of the sidebar
|
||||
# - sidebarText is the (foreground) text color
|
||||
# - sidebarTextHighlight sets the background of the selected (current) step.
|
||||
# Optional, and defaults to the application palette.
|
||||
# - sidebarSelect is the text color of the selected step.
|
||||
#
|
||||
style:
|
||||
sidebarBackground: "#454948"
|
||||
sidebarText: "#efefef"
|
||||
sidebarTextSelect: "#4d915e"
|
||||
sidebarTextHighlight: "#1a1c1b"
|
BIN
branding/tromjaro/languages.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
branding/tromjaro/logo.png
Normal file
After Width: | Height: | Size: 11 KiB |
131
branding/tromjaro/show.qml
Normal file
|
@ -0,0 +1,131 @@
|
|||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Slides images dimensions are 800x440px.
|
||||
*/
|
||||
|
||||
import QtQuick 2.0;
|
||||
import calamares.slideshow 1.0;
|
||||
|
||||
Presentation
|
||||
{
|
||||
id: presentation
|
||||
|
||||
Timer {
|
||||
interval: 20000
|
||||
running: true
|
||||
repeat: true
|
||||
onTriggered: presentation.goToNextSlide()
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
Image {
|
||||
id: background1
|
||||
source: "slide1.png"
|
||||
width: 800; height: 440
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
Text {
|
||||
anchors.horizontalCenter: background1.horizontalCenter
|
||||
anchors.top: background1.bottom
|
||||
text: ""
|
||||
wrapMode: Text.WordWrap
|
||||
width: 800
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
Image {
|
||||
id: background2
|
||||
source: "slide2.png"
|
||||
width: 800; height: 440
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
Text {
|
||||
anchors.horizontalCenter: background2.horizontalCenter
|
||||
anchors.top: background2.bottom
|
||||
text: ""
|
||||
wrapMode: Text.WordWrap
|
||||
width: 800
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
Image {
|
||||
id: background3
|
||||
source: "slide3.png"
|
||||
width: 800; height: 440
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
Text {
|
||||
anchors.horizontalCenter: background3.horizontalCenter
|
||||
anchors.top: background3.bottom
|
||||
text: ""
|
||||
wrapMode: Text.WordWrap
|
||||
width: 800
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
Image {
|
||||
id: background4
|
||||
source: "slide4.png"
|
||||
width: 800; height: 440
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
Text {
|
||||
anchors.horizontalCenter: background4.horizontalCenter
|
||||
anchors.top: background4.bottom
|
||||
text: ""
|
||||
wrapMode: Text.WordWrap
|
||||
width: 800
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
Image {
|
||||
id: background5
|
||||
source: "slide5.png"
|
||||
width: 800; height: 440
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
Text {
|
||||
anchors.horizontalCenter: background5.horizontalCenter
|
||||
anchors.top: background5.bottom
|
||||
text: ""
|
||||
wrapMode: Text.WordWrap
|
||||
width: 800
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
}
|
BIN
branding/tromjaro/slide1.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
branding/tromjaro/slide2.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
branding/tromjaro/slide3.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
branding/tromjaro/slide4.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
branding/tromjaro/slide5.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
branding/tromjaro/squid.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
54
modules/bootloader.conf
Normal file
|
@ -0,0 +1,54 @@
|
|||
# Bootloader configuration. The bootloader is installed to allow
|
||||
# the system to start (and pick one of the installed operating
|
||||
# systems to run).
|
||||
---
|
||||
# Define which bootloader you want to use for EFI installations
|
||||
# Possible options are 'grub', 'sb-shim' and 'systemd-boot'.
|
||||
efiBootLoader: "grub"
|
||||
|
||||
# systemd-boot configuration files settings, set kernel and initramfs file names
|
||||
# and amount of time before default selection boots
|
||||
kernel: "_ALL_kver_"
|
||||
img: "_default_image_"
|
||||
fallback: "_fallback_image_"
|
||||
timeout: "10"
|
||||
|
||||
# Optionally set the menu entry name and kernel name to use in systemd-boot.
|
||||
# If not specified here, these settings will be taken from branding.desc.
|
||||
#
|
||||
# bootloaderEntryName: "Manjaro"
|
||||
kernelLine: ", with _manjaro_kernel_"
|
||||
fallbackKernelLine: ", with _manjaro_kernel_ (fallback initramfs)"
|
||||
|
||||
# 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).
|
||||
#
|
||||
# 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
|
14
modules/chrootcfg.conf
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
requirements:
|
||||
- name: /etc
|
||||
mode: "0o755"
|
||||
- name: /var/cache/pacman/pkg
|
||||
mode: "0o755"
|
||||
- name: /var/lib/pacman
|
||||
mode: "0o755"
|
||||
|
||||
isRank: true
|
||||
|
||||
keyrings:
|
||||
- archlinux
|
||||
- manjaro
|
46
modules/contextualprocess.conf
Normal file
|
@ -0,0 +1,46 @@
|
|||
# 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.
|
||||
#
|
||||
# The special top-level keys *dontChroot* and *timeout* have
|
||||
# meaning just like in shellprocess.conf. They are excluded from
|
||||
# the comparison with global variables.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
---
|
||||
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"
|
58
modules/displaymanager.conf
Normal file
|
@ -0,0 +1,58 @@
|
|||
# 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
|
||||
- kdm
|
||||
|
||||
# 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
|
44
modules/finished.conf
Normal file
|
@ -0,0 +1,44 @@
|
|||
# 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
|
49
modules/fsresizer.conf
Normal file
|
@ -0,0 +1,49 @@
|
|||
# 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
|
33
modules/fstab.conf
Normal file
|
@ -0,0 +1,33 @@
|
|||
# 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 for the filesystem type to write to the
|
||||
# options field of the file.
|
||||
---
|
||||
# Mount options to use for all filesystems. If a specific filesystem
|
||||
# is listed here, use those options, otherwise use the *default*
|
||||
# options from this mapping.
|
||||
mountOptions:
|
||||
default: defaults,noatime
|
||||
btrfs: defaults,noatime,space_cache,autodefrag
|
||||
|
||||
# Mount options to use for the EFI System Partition. If not defined, the
|
||||
# *mountOptions* for *vfat* are used, or if that is not set either,
|
||||
# *default* from *mountOptions*.
|
||||
efiMountOptions: umask=0077
|
||||
|
||||
# If a filesystem is on an SSD, add the following options. If a specific
|
||||
# filesystem is listed here, use those options, otherwise no additional
|
||||
# options are set (i.e. there is no *default* like in *mountOptions*).
|
||||
ssdExtraMountOptions:
|
||||
ext4: discard
|
||||
jfs: discard
|
||||
xfs: discard
|
||||
swap: discard
|
||||
btrfs: discard,compress=lzo
|
||||
|
||||
# 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
|
25
modules/grubcfg.conf
Normal file
|
@ -0,0 +1,25 @@
|
|||
# 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*
|
||||
# - 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
|
||||
|
||||
# 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
|
22
modules/initcpio.conf
Normal file
|
@ -0,0 +1,22 @@
|
|||
# Run mkinitcpio(8) with the given preset value
|
||||
---
|
||||
# This key defines the kernel to be loaded.
|
||||
# It can have the following values:
|
||||
# - empty or unset, interpreted as "all"
|
||||
# - the literal string "$uname" (without quotes, with dollar),
|
||||
# which will use the output of `uname -r` to determine the
|
||||
# running kernel, and use that.
|
||||
# - any other string.
|
||||
#
|
||||
# Whatever is set, that string is passed as *preset* argument to the
|
||||
# `-p` option of *mkinitcpio*. Take care that both "$uname" operates
|
||||
# in the host system, and might not be correct if the target system is
|
||||
# updated (to a newer kernel) as part of the installation.
|
||||
#
|
||||
# Note that "all" is probably not a good preset to use either.
|
||||
kernel: linux312
|
||||
|
||||
# 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).
|
||||
be_unsafe: false
|
16
modules/keyboard.conf
Normal file
|
@ -0,0 +1,16 @@
|
|||
# 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
|
45
modules/license.conf
Normal file
|
@ -0,0 +1,45 @@
|
|||
# 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.
|
||||
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
|
97
modules/locale.conf
Normal file
|
@ -0,0 +1,97 @@
|
|||
---
|
||||
# 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
|
4
modules/luksopenswaphookcfg.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
# 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
|
24
modules/machineid.conf
Normal file
|
@ -0,0 +1,24 @@
|
|||
# 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.
|
||||
systemd: true
|
||||
|
||||
# Whether to create /var/lib/dbus/machine-id for D-Bus.
|
||||
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).
|
||||
dbus-symlink: true
|
||||
# this is a deprecated form of *dbus-symlink*
|
||||
symlink: true
|
||||
|
||||
# Whether to create an entropy file
|
||||
entropy: false
|
||||
# Whether to copy entropy from the host
|
||||
entropy-copy: false
|
19
modules/mhwdcfg.conf
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
bus:
|
||||
- pci
|
||||
# - usb
|
||||
|
||||
identifier:
|
||||
net:
|
||||
- 200
|
||||
- 280
|
||||
video:
|
||||
- 300
|
||||
- 302
|
||||
- 380
|
||||
|
||||
driver: free
|
||||
|
||||
local: true
|
||||
|
||||
repo: /opt/mhwd/pacman-mhwd.conf
|
36
modules/mount.conf
Normal file
|
@ -0,0 +1,36 @@
|
|||
# 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. The filesystems listed in
|
||||
# *extraMountsEfi* are mounted in the target system **only** if
|
||||
# the host machine uses UEFI.
|
||||
---
|
||||
# Extra filesystems to mount. The key's value is a list of entries; each
|
||||
# entry has four keys:
|
||||
# - device The device node to mount
|
||||
# - fs The filesystem type to use
|
||||
# - mountPoint Where to mount the filesystem
|
||||
# - options (optional) Extra options to pass to mount(8)
|
||||
#
|
||||
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
|
||||
|
||||
extraMountsEfi:
|
||||
- device: efivarfs
|
||||
fs: efivarfs
|
||||
mountPoint: /sys/firmware/efi/efivars
|
23
modules/netinstall.conf
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
# This is the URL that is retrieved to get the netinstall groups-and-packages
|
||||
# data (which should be in the format described in netinstall.yaml), e.g.:
|
||||
# groupsUrl: http://example.org/netinstall.php
|
||||
# or it can be a locally installed file:
|
||||
# groupsUrl: file:///usr/share/calamares/netinstall.yaml
|
||||
#
|
||||
# Note that the contents of the groups file is the **important**
|
||||
# part of the configuration of this module. It specifies what
|
||||
# the user may select and what commands are to be run.
|
||||
#
|
||||
# The format of the groups file is documented in `README.md`.
|
||||
#
|
||||
# groupsUrl: file:///usr/share/calamares/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.
|
||||
required: false
|
13
modules/oemid.conf
Normal file
|
@ -0,0 +1,13 @@
|
|||
# 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@@
|
2
modules/openrcdmcryptcfg.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
configFilePath: /etc/conf.d/dmcrypt
|
106
modules/packagechooser.conf
Normal file
|
@ -0,0 +1,106 @@
|
|||
# Configuration for the low-density software chooser
|
||||
---
|
||||
# The packagechooser writes a GlobalStorage value for the choice that
|
||||
# has been made. The key is *packagechooser_<id>*. If *id* is set here,
|
||||
# it is substituted into the key name. If it is not set, the module's
|
||||
# instance name is used; see the *instances* section of `settings.conf`.
|
||||
# If there is just one packagechooser module, and no *id* is set,
|
||||
# resulting GS key is probably *packagechooser_packagechooser*.
|
||||
#
|
||||
# The GS value is a comma-separated list of the IDs of the selected
|
||||
# packages, or an empty string if none is selected.
|
||||
#
|
||||
# id: ""
|
||||
|
||||
# Software selection mode, to set whether the software packages
|
||||
# can be chosen singly, or multiply.
|
||||
#
|
||||
# Possible modes are "optional", "required" (for zero or one)
|
||||
# or "optionalmultiple", "requiredmultiple" (for zero-or-more
|
||||
# or one-or-more).
|
||||
mode: required
|
||||
|
||||
# Human-visible strings in this module. These are all optional.
|
||||
# The following translated keys are used:
|
||||
# - *step*, used in the overall progress view (left-hand pane)
|
||||
#
|
||||
# Each key kan have a [locale] added to it, which is used as
|
||||
# the translated string for that locale. For the strings
|
||||
# associated with the "no-selection" item, see *items*, below
|
||||
# with the explicit id "".
|
||||
#
|
||||
labels:
|
||||
step: "Office Suite"
|
||||
step[de]: "Office-Paket"
|
||||
|
||||
# Items to display in the chooser. In general, this should be a
|
||||
# pretty short list to avoid overwhelming the UI. This is a list
|
||||
# of objects, and the items are displayed in list order.
|
||||
#
|
||||
# Either provide the data for an item in the list (using the keys
|
||||
# below), or use existing AppData XML files, or use AppStream cache
|
||||
# as a source for the data.
|
||||
#
|
||||
# For data provided by the list: the item has an id, which is used in
|
||||
# setting the value of *packagechooser_<module-id>*). The following fields
|
||||
# are mandatory:
|
||||
#
|
||||
# - *id* ID for the product. The ID "" is special, and is used for
|
||||
# "no package selected". Only include this if the mode allows
|
||||
# selecting none.
|
||||
# - *package* Package name for the product. While mandatory, this is
|
||||
# not actually used anywhere.
|
||||
# - *name* Human-readable name of the product. To provide translations,
|
||||
# add a *[lang]* decoration as part of the key name, e.g. `name[nl]`
|
||||
# for Dutch. The list of usable languages can be found in
|
||||
# `CMakeLists.txt` or as part of the debug output of Calamares.
|
||||
# - *description* Human-readable description. These can be translated
|
||||
# as well.
|
||||
# - *screenshot* Path to a single screenshot of the product. May be
|
||||
# a filesystem path or a QRC path (e.g. ":/images/no-selection.png").
|
||||
#
|
||||
# Use the empty string "" as ID / key for the "no selection" item if
|
||||
# you want to customize the display of that item as well.
|
||||
#
|
||||
# For data provided by AppData XML: the item has an *appdata*
|
||||
# key which points to an AppData XML file in the local filesystem.
|
||||
# This file is parsed to provide the id (from AppData id), name
|
||||
# (from AppData name), description (from AppData description paragraphs
|
||||
# or the summary entries), and a screenshot (the defautl screenshot
|
||||
# from AppData). No package is set (but that is unused anyway).
|
||||
#
|
||||
# AppData may contain IDs that are not useful inside Calamares,
|
||||
# and the screenshot URL may be remote -- a remote URL will not
|
||||
# be loaded and the screenshot will be missing. An item with *appdata*
|
||||
# **may** specify an ID or screenshot path, as above. This will override
|
||||
# the settings from AppData.
|
||||
#
|
||||
# For data provided by AppStream cache: the item has an *appstream*
|
||||
# key which matches the AppStream identifier in the cache (e.g.
|
||||
# *org.kde.kwrite.desktop*). Data is retrieved from the AppStream
|
||||
# cache for that ID. The package name is set from the AppStream data.
|
||||
#
|
||||
# An item for AppStream may also contain an *id* and a *screenshot*
|
||||
# key which will override the data from AppStream.
|
||||
items:
|
||||
- id: ""
|
||||
package: ""
|
||||
name: "No Office Suite"
|
||||
name[de]: "Kein Office Paket"
|
||||
description: "Please pick an office suite from the list. If you don't want to install an office suite, that's fine, you can install one later as needed."
|
||||
description[de]: "Bitte wählen Sie ein Office-Paket von der Liste. Wenn Sie kein Office installieren wollen, kann dies auch zu einer späteren Zeitpunkt erfolgen."
|
||||
screenshot: ":/images/choose-office.jpg"
|
||||
- id: "libreoffice-still"
|
||||
package: "libreoffice-still"
|
||||
name: "LibreOffice"
|
||||
name[de]: "LibreOffice"
|
||||
description: "LibreOffice is a powerful and free office suite, used by millions of people around the world. Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity."
|
||||
description[de]: "LibreOffice ist ein leistungsstarkes Office-Paket. Die klare Oberfläche und mächtigen Werkzeuge lassen Sie Ihre Kreativität entfalten und Ihre Produktivität steigern."
|
||||
screenshot: ":/images/LibreOffice.jpg"
|
||||
- id: "freeoffice"
|
||||
package: "freeoffice"
|
||||
name: "FreeOffice"
|
||||
name[de]: "FreeOffice"
|
||||
description: "FreeOffice is a powerful Office suite with word processing, spreadsheet and presentation software. It is seamlessly compatible with Microsoft Office and can be used free of charge. For long-term use, request a free product key directly in the application."
|
||||
description[de]: "FreeOffice ist ein leistungsstarkes Office-Paket mit Textverarbeitung, Tabellenkalkulation und Präsentationssoftware. Es ist nahtlos kompatible zu Microsoft Office und kann frei genutzt werden. Für eine Langzeitnutzung kann ein Produktkey im Programm angefordert werden."
|
||||
screenshot: ":/images/FreeOffice.jpg"
|
170
modules/packages.conf
Normal file
|
@ -0,0 +1,170 @@
|
|||
---
|
||||
#
|
||||
# Which package manager to use, options are:
|
||||
# - packagekit - PackageKit CLI tool
|
||||
# - zypp - Zypp RPM frontend
|
||||
# - yum - Yum RPM frontend
|
||||
# - dnf - DNF, the new RPM frontend
|
||||
# - urpmi - Mandriva package manager
|
||||
# - apt - APT frontend for DEB and RPM
|
||||
# - pacman - Pacman
|
||||
# - portage - Gentoo package manager
|
||||
# - entropy - Sabayon package manager
|
||||
# - 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
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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
|
137
modules/partition.conf
Normal file
|
@ -0,0 +1,137 @@
|
|||
# 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.
|
||||
efiSystemPartition: "/boot/efi"
|
||||
|
||||
# This optional setting specifies the size of the EFI system partition.
|
||||
# If nothing is specified, the default size of 300MiB will be used.
|
||||
# efiSystemPartitionSize: 300M
|
||||
|
||||
# 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).
|
||||
userSwapChoices:
|
||||
- none # Create no swap, use no swap
|
||||
- reuse # Re-use existing swap, but don't create any (unsupported right now)
|
||||
- small # Up to 4GB
|
||||
- suspend # At least main memory size
|
||||
- file # To swap file instead of partition (unsupported right now)
|
||||
|
||||
# LEGACY SETTINGS (these will generate a warning)
|
||||
# ensureSuspendToDisk: true
|
||||
# neverCreateSwap: false
|
||||
|
||||
# Correctly draw nested (e.g. logical) partitions as such.
|
||||
drawNestedPartitions: false
|
||||
|
||||
# Show/hide partition labels on manual partitioning page.
|
||||
alwaysShowPartitionLabels: true
|
||||
|
||||
# Default filesystem type, used when a "new" partition is made.
|
||||
#
|
||||
# When replacing a partition, the existing filesystem inside the
|
||||
# partition is retained. 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"
|
||||
|
||||
# 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.
|
||||
# Support is offered to system integrators that wish to do so, through the
|
||||
# Calamares bug tracker, as well as in #calamares on Freenode.
|
||||
# For more information on setting up GRUB2 for Calamares with LUKS, see
|
||||
# https://github.com/calamares/calamares/wiki/Deploy-LUKS
|
||||
#
|
||||
# If nothing is specified, LUKS is enabled in automated modes.
|
||||
#enableLuksAutomatedPartitioning: true
|
||||
|
||||
# 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
|
||||
|
||||
# To apply a custom partition layout, it has to be defined this way :
|
||||
#
|
||||
# partitionLayout:
|
||||
# - name: "rootfs"
|
||||
# filesystem: "ext4"
|
||||
# mountPoint: "/"
|
||||
# size: 20%
|
||||
# minSize: 500M
|
||||
# maxSize: 10G
|
||||
# - name: "home"
|
||||
# filesystem: "ext4"
|
||||
# mountPoint: "/home"
|
||||
# size: 3G
|
||||
# minSize: 1.5G
|
||||
# - name: "data"
|
||||
# filesystem: "fat32"
|
||||
# mountPoint: "/data"
|
||||
# size: 100%
|
||||
#
|
||||
# There can be any number of partitions, each entry having the following attributes:
|
||||
# - name: partition label
|
||||
# - filesystem: filesystem type
|
||||
# - mountPoint: partition mount point
|
||||
# - 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)
|
||||
|
||||
# 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
|
79
modules/plasmalnf.conf
Normal file
|
@ -0,0 +1,79 @@
|
|||
# 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"
|
||||
|
||||
# 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, below,
|
||||
# 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
|
||||
|
||||
# If *showAll* is true, then all installed themes are shown in the
|
||||
# UI for selection, even if they are not listed in *themes*. 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.
|
||||
showAll: false
|
||||
|
||||
# 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: "*"
|
28
modules/plymouthcfg.conf
Normal file
|
@ -0,0 +1,28 @@
|
|||
# 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
|
||||
|
||||
|
||||
|
||||
|
4
modules/postcfg.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
keyrings:
|
||||
- archlinux
|
||||
- manjaro
|
49
modules/preservefiles.conf
Normal file
|
@ -0,0 +1,49 @@
|
|||
# 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 are 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 dontChroot is true, in the host system). Relative paths
|
||||
# are not recommended. There are three possible other keys in the map:
|
||||
# - *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.
|
||||
# - *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.
|
||||
# Only one of the two source keys (either *from* or *src*) may be set.
|
||||
#
|
||||
# The target filename is modified as follows:
|
||||
# - `@@ROOT@@` is replaced by the path to the target root (may be /)
|
||||
# - `@@USER@@` is replaced by the username entered by on the user
|
||||
# page (may be empty, for instance if no user page is enabled)
|
||||
#
|
||||
# Special values for the key *from* are:
|
||||
# - *log*, for the complete log file (up to the moment the preservefiles
|
||||
# module is run),
|
||||
# - *config*, for the Calamares configuration file
|
||||
# - *globals*, for a JSON dump of the contents of global storage
|
||||
---
|
||||
files:
|
||||
- /etc/oem-information
|
||||
- from: log
|
||||
dest: /root/install.log
|
||||
perm: root:wheel:644
|
||||
- from: config
|
||||
dest: /root/install.cfg
|
||||
perm: root:wheel:400
|
||||
|
||||
# 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"
|
24
modules/rawfs.conf
Normal file
|
@ -0,0 +1,24 @@
|
|||
# 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
|
6
modules/removeuser.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
# 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.
|
||||
---
|
||||
# Username in the target system to be removed.
|
||||
username: live
|
87
modules/services.conf
Normal file
|
@ -0,0 +1,87 @@
|
|||
# Systemd services manipulation.
|
||||
#
|
||||
# This module can enable services and targets for systemd
|
||||
# (if packaging doesn't already do that). It can calso
|
||||
# disable services (but not targets).
|
||||
#
|
||||
# First, services are enabled; then targets; then services
|
||||
# are disabled -- this order of operations is fixed.
|
||||
---
|
||||
|
||||
# There are three configuration keys for this module:
|
||||
# *services*, *targets* and *disable*. The value of each
|
||||
# key is a list of entries. Each entry has two keys:
|
||||
# - *name* is the (string) name of the service or target that is being
|
||||
# changed. Use quotes. Don't include ".target" or ".service"
|
||||
# in the name.
|
||||
# - *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 entry (service or target) are ignored. If mandatory
|
||||
# is not specified, the default is false.
|
||||
#
|
||||
# An entry may also be given as a single string, which is then
|
||||
# interpreted as the name of the service. In this case, mandatory
|
||||
# is also set to the default of false.
|
||||
#
|
||||
# Use [] to express an empty list.
|
||||
|
||||
# # This example enables NetworkManager (and fails if it can't),
|
||||
# # disables cups (and ignores failure). Then it enables the
|
||||
# # graphical target (e.g. so that SDDM runs for login), and
|
||||
# # finally disables pacman-init (an ArchLinux-only service).
|
||||
# #
|
||||
# # Enables <name>.service
|
||||
# services:
|
||||
# - name: "NetworkManager"
|
||||
# mandatory: true
|
||||
# - name: "cups"
|
||||
# mandatory: false
|
||||
#
|
||||
# # Enables <name>.target
|
||||
# targets:
|
||||
# - name: "graphical"
|
||||
# mandatory: true
|
||||
#
|
||||
# # Disables <name>.service
|
||||
# disable:
|
||||
# - name: "pacman-init"
|
||||
# mandatory: false
|
||||
#
|
||||
# # Disables <name>.target
|
||||
# # .. this shows how to use just the name
|
||||
# disable-targets:
|
||||
# - graphical
|
||||
#
|
||||
# # Masks (stronger version of disable). This section
|
||||
# # is unusual because you **must** include the suffix
|
||||
# # (e.g. ".service") as part of the name, so, e.g. to mask
|
||||
# # NetworkManager (rather than just disable it) you must
|
||||
# # specify "NetworkManager.service" as name.
|
||||
# mask:
|
||||
# - name: "NetworkManager.service"
|
||||
# - mandatory: true
|
||||
|
||||
# By default, no changes are made.
|
||||
#services: []
|
||||
#targets: []
|
||||
#disable: []
|
||||
disable-targets: []
|
||||
mask: []
|
||||
|
||||
# Manjaro settings
|
||||
|
||||
services:
|
||||
- name: "NetworkManager"
|
||||
mandatory: false
|
||||
|
||||
- name: "org.cups.cupsd"
|
||||
mandatory: false
|
||||
|
||||
targets:
|
||||
- name: "graphical"
|
||||
mandatory: true
|
||||
|
||||
disable:
|
||||
- name: "pacman-init"
|
||||
mandatory: false
|
10
modules/servicescfg.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
services:
|
||||
enabled:
|
||||
- name: "NetworkManager"
|
||||
runlevel: "default"
|
||||
- name: "cups"
|
||||
runlevel: "default"
|
||||
# disabled:
|
||||
# - name: "hwclock"
|
||||
# runlevel: "boot"
|
36
modules/shellprocess.conf
Normal file
|
@ -0,0 +1,36 @@
|
|||
# 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 substitutions will take place:
|
||||
# - `@@ROOT@@` is replaced by the root mount point of the **target**
|
||||
# system from the point of view of the command (for chrooted
|
||||
# commands, that will be */*).
|
||||
# - `@@USER@@` is replaced by the username, set on the user page.
|
||||
#
|
||||
# The (global) timeout for the command list can be set with
|
||||
# the *timeout* key. The value is a time in seconds, default
|
||||
# is 10 seconds if not set.
|
||||
#
|
||||
# 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 list of strings; these are executed one at a time, by
|
||||
# separate shells (/bin/sh -c is invoked for each command).
|
||||
# - an object, specifying a key *command* and (optionally)
|
||||
# a key *timeout* to set the timeout for this specific
|
||||
# command differently from the global setting.
|
||||
---
|
||||
dontChroot: false
|
||||
timeout: 10
|
||||
script:
|
||||
- "-touch @@ROOT@@/tmp/thingy"
|
||||
- "/usr/bin/false"
|
||||
- command: "/usr/local/bin/slowloris"
|
||||
timeout: 3600
|
88
modules/tracking.conf
Normal file
|
@ -0,0 +1,88 @@
|
|||
# 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 off, 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, the help button is hidden. The example policy links
|
||||
# go to Calamares' generic user manual.
|
||||
#
|
||||
# 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. It is recommended to either provide policy URLs for each
|
||||
# area, *or* one general link, and not to mix them.
|
||||
policy: "https://github.com/calamares/calamares/wiki/Users-Guide#installation-tracking"
|
||||
|
||||
# This is the default level to enable for tracking. If commented out,
|
||||
# empty, or otherwise invalid, "none" is used, so no tracking by default.
|
||||
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://github.com/calamares/calamares/wiki/Users-Guide#installation-tracking"
|
||||
# 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. There is currently only one valid
|
||||
# style, "neon", which edits two files in the installed
|
||||
# system to enable system-tracking.
|
||||
machine:
|
||||
enabled: false
|
||||
style: neon
|
||||
|
||||
# The user area is not yet implemented, and has no specific configuration.
|
||||
user:
|
||||
enabled: false
|
42
modules/umount.conf
Normal file
|
@ -0,0 +1,42 @@
|
|||
### Umount Module
|
||||
#
|
||||
# This module represents the last part of the installation, the unmounting
|
||||
# of partitions used for the install. It is also the last place where it
|
||||
# is possible to copy files to the target system, thus the best place to
|
||||
# copy an installation log.
|
||||
#
|
||||
# This module has two configuration keys:
|
||||
# srcLog location in the live system where the log is
|
||||
# destLog location in the target system to copy the log
|
||||
#
|
||||
# You can either use the default source path (which is
|
||||
# `/root/.cache/calamares/session.log` ) to copy the regular log,
|
||||
# or if you want to use the full output of `sudo calamares -d` you will need
|
||||
# to redirect standard output, for instance in a launcher script or
|
||||
# in the desktop file.
|
||||
#
|
||||
# Example launcher script:
|
||||
#
|
||||
# ```
|
||||
# #!/bin/sh
|
||||
# sudo /usr/bin/calamares -d > installation.log
|
||||
# ```
|
||||
#
|
||||
# Example desktop line:
|
||||
#
|
||||
# ```
|
||||
# Exec=sudo /usr/bin/calamares -d > installation.log
|
||||
# ```
|
||||
#
|
||||
# If no source and destination are set, no copy is attempted. If the
|
||||
# copy fails for some reason, a warning is printed but the installation
|
||||
# does not fail.
|
||||
|
||||
---
|
||||
# example when using the normal Calamares log:
|
||||
srcLog: "/root/.cache/calamares/session.log"
|
||||
destLog: "/var/log/Calamares.log"
|
||||
|
||||
# example when using a log created by `sudo calamares -d`:
|
||||
#srcLog: "/home/live/installation.log"
|
||||
#destLog: "/var/log/installation.log"
|
89
modules/unpackfs.conf
Normal file
|
@ -0,0 +1,89 @@
|
|||
# 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.
|
||||
#
|
||||
# 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: ../CHANGES
|
||||
sourcefs: file
|
||||
destination: "/tmp/changes.txt"
|
||||
- source: src/qml/calamares/slideshow
|
||||
sourcefs: file
|
||||
destination: "/tmp/slideshow/"
|
||||
exclude: [ "*.qmlc", "qmldir" ]
|
||||
# excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt
|
85
modules/users.conf
Normal file
|
@ -0,0 +1,85 @@
|
|||
# Configuration for the one-user-system user module.
|
||||
#
|
||||
# Besides these settings, the user module also places the following
|
||||
# keys into the globalconfig area, based on user input in the view step.
|
||||
#
|
||||
# - hostname
|
||||
# - username
|
||||
# - password (obscured)
|
||||
# - autologinUser (if enabled, set to username)
|
||||
#
|
||||
# These globalconfig keys are set when the jobs for this module
|
||||
# are created.
|
||||
---
|
||||
# Used as default groups for the created user.
|
||||
# Adjust to your Distribution defaults.
|
||||
defaultGroups:
|
||||
- users
|
||||
- lp
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- wheel
|
||||
- audio
|
||||
|
||||
# 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' in UsersViewStep here.
|
||||
# Possible values are: true to enable or false to disable the checkbox by default
|
||||
doAutologin: true
|
||||
|
||||
# When set to a non-empty string, Calamares creates a sudoers file for the user.
|
||||
# /etc/sudoers.d/10-installer
|
||||
# Remember to add 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
|
||||
|
||||
# Setting this to false , causes the root account to be disabled.
|
||||
setRootPassword: true
|
||||
# You can control the initial state for the 'root password checkbox' in UsersViewStep here.
|
||||
# Possible values are: true to enable or false to disable the checkbox by default.
|
||||
# When enabled 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 disable each check,
|
||||
# as if the check was not listed at all.
|
||||
#
|
||||
# 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)
|
||||
passwordRequirements:
|
||||
minLength: -1 # Password at least this many characters
|
||||
maxLength: -1 # Password at most this many characters
|
||||
libpwquality:
|
||||
- minlen=0
|
||||
- minclass=0
|
||||
|
||||
# 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.
|
||||
# userShell: /bin/bash
|
92
modules/welcome.conf
Normal file
|
@ -0,0 +1,92 @@
|
|||
# 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 is the setting
|
||||
# here is "true". If the setting is false, the button is hidden.
|
||||
# The setting can also be a full URL which will then be used
|
||||
# instead of the one from the branding file, or empty or not-set
|
||||
# which will hide the button.
|
||||
showSupportUrl: true
|
||||
showKnownIssuesUrl: true
|
||||
showReleaseNotesUrl: true
|
||||
|
||||
# If this Url is set to something non-empty, a "donate"
|
||||
# button is added to the welcome page alongside the
|
||||
# others (see settings, above). Clicking the button opens
|
||||
# the corresponding link. (This button has no corresponding
|
||||
# branding.desc string)
|
||||
#
|
||||
# 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 pass 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.
|
||||
internetCheckUrl: http://google.com
|
||||
|
||||
# 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.
|
||||
#
|
||||
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
|
24
qml/calamares/slideshow/BackButton.qml
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
NavButton {
|
||||
id: backButton
|
||||
anchors.left: parent.left
|
||||
visible: parent.currentSlide > 0
|
||||
isForward: false
|
||||
}
|
23
qml/calamares/slideshow/ForwardButton.qml
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
NavButton {
|
||||
id: forwardButton
|
||||
anchors.right: parent.right
|
||||
visible: parent.currentSlide + 1 < parent.slides.length;
|
||||
}
|
68
qml/calamares/slideshow/NavButton.qml
Normal file
|
@ -0,0 +1,68 @@
|
|||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* This is a navigation (arrow) button that fades in on hover, and
|
||||
* which calls forward / backward navigation on the presentation it
|
||||
* is in. It should be a child item of the presentation (not of a
|
||||
* single slide). Use the ForwardButton or BackButton for a pre-
|
||||
* configured instance that interacts with the presentation.
|
||||
*/
|
||||
|
||||
import QtQuick 2.5;
|
||||
|
||||
Image {
|
||||
id: fade
|
||||
|
||||
property bool isForward : true
|
||||
|
||||
width: 100
|
||||
height: 100
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
opacity: 0.3
|
||||
|
||||
OpacityAnimator {
|
||||
id: fadeIn
|
||||
target: fade
|
||||
from: fade.opacity
|
||||
to: 1.0
|
||||
duration: 500
|
||||
running: false
|
||||
}
|
||||
|
||||
OpacityAnimator {
|
||||
id: fadeOut
|
||||
target: fade
|
||||
from: fade.opacity
|
||||
to: 0.3
|
||||
duration: 250
|
||||
running: false
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onEntered: { fadeOut.running = false; fadeIn.running = true }
|
||||
onExited: { fadeIn.running = false ; fadeOut.running = true }
|
||||
onClicked: {
|
||||
if (isForward)
|
||||
fade.parent.goToNextSlide()
|
||||
else
|
||||
fade.parent.goToPreviousSlide()
|
||||
}
|
||||
}
|
||||
}
|
240
qml/calamares/slideshow/Presentation.qml
Normal file
|
@ -0,0 +1,240 @@
|
|||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
||||
* - added looping, keys-instead-of-shortcut
|
||||
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||
* - make looping a property, drop the 'c' fade-key
|
||||
* - drop navigation through entering a slide number
|
||||
* (this and the 'c' key make sense in a *presentation*
|
||||
* slideshow, not in a passive slideshow like Calamares)
|
||||
* - remove quit key
|
||||
* Copyright 2019, Adriaan de Groot <groot@kde.org>
|
||||
* - Support "V2" loading
|
||||
* - Disable shortcuts until the content is visible in Calamares
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1
|
||||
* License-Filename: LICENSES/LGPLv2.1-Presentation
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QML Presentation System.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Digia gives you certain additional
|
||||
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
import QtQuick 2.5
|
||||
import QtQuick.Window 2.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property variant slides: []
|
||||
property int currentSlide: 0
|
||||
|
||||
property bool loopSlides: true
|
||||
|
||||
property bool showNotes: false;
|
||||
property bool allowDelay: true;
|
||||
property alias mouseNavigation: mouseArea.enabled
|
||||
property bool arrowNavigation: true
|
||||
property bool keyShortcutsEnabled: true
|
||||
|
||||
property color titleColor: textColor;
|
||||
property color textColor: "black"
|
||||
property string fontFamily: "Helvetica"
|
||||
property string codeFontFamily: "Courier New"
|
||||
|
||||
// This is set by the C++ part of Calamares when the slideshow
|
||||
// becomes visible. You can connect it to a timer, or whatever
|
||||
// else needs to start only when the slideshow becomes visible.
|
||||
//
|
||||
// It is used in this example also to keep the keyboard shortcuts
|
||||
// enabled only while the slideshow is active.
|
||||
property bool activatedInCalamares: false
|
||||
|
||||
// Private API
|
||||
property int _lastShownSlide: 0
|
||||
|
||||
Component.onCompleted: {
|
||||
var slideCount = 0;
|
||||
var slides = [];
|
||||
for (var i=0; i<root.children.length; ++i) {
|
||||
var r = root.children[i];
|
||||
if (r.isSlide) {
|
||||
slides.push(r);
|
||||
}
|
||||
}
|
||||
|
||||
root.slides = slides;
|
||||
|
||||
// Make first slide visible...
|
||||
if (root.slides.length > 0)
|
||||
root.slides[root.currentSlide].visible = true;
|
||||
}
|
||||
|
||||
function switchSlides(from, to, forward) {
|
||||
from.visible = false
|
||||
to.visible = true
|
||||
return true
|
||||
}
|
||||
|
||||
onCurrentSlideChanged: {
|
||||
switchSlides(root.slides[_lastShownSlide], root.slides[currentSlide], currentSlide > _lastShownSlide)
|
||||
_lastShownSlide = currentSlide
|
||||
// Always keep focus on the slideshow
|
||||
root.focus = true
|
||||
}
|
||||
|
||||
function goToNextSlide() {
|
||||
if (root.slides[currentSlide].delayPoints) {
|
||||
if (root.slides[currentSlide]._advance())
|
||||
return;
|
||||
}
|
||||
if (currentSlide + 1 < root.slides.length)
|
||||
++currentSlide;
|
||||
else if (loopSlides)
|
||||
currentSlide = 0; // Loop at the end
|
||||
}
|
||||
|
||||
function goToPreviousSlide() {
|
||||
if (currentSlide - 1 >= 0)
|
||||
--currentSlide;
|
||||
else if (loopSlides)
|
||||
currentSlide = root.slides.length - 1
|
||||
}
|
||||
|
||||
focus: true // Keep focus
|
||||
|
||||
// Navigation through key events, too
|
||||
Keys.onSpacePressed: goToNextSlide()
|
||||
Keys.onRightPressed: goToNextSlide()
|
||||
Keys.onLeftPressed: goToPreviousSlide()
|
||||
|
||||
// navigate with arrow keys
|
||||
Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.activatedInCalamares && root .arrowNavigation; onActivated: goToNextSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToPreviousSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToNextChar; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToNextSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToPreviousChar; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToPreviousSlide() }
|
||||
|
||||
// presentation-specific single-key shortcuts (which interfere with normal typing)
|
||||
Shortcut { sequence: " "; enabled: root.activatedInCalamares && root.keyShortcutsEnabled; onActivated: goToNextSlide() }
|
||||
|
||||
// standard shortcuts
|
||||
Shortcut { sequence: StandardKey.MoveToNextPage; enabled: root.activatedInCalamares; onActivated: goToNextSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToPreviousPage; enabled: root.activatedInCalamares; onActivated: goToPreviousSlide() }
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (mouse.button == Qt.RightButton)
|
||||
goToPreviousSlide()
|
||||
else
|
||||
goToNextSlide()
|
||||
}
|
||||
onPressAndHold: goToPreviousSlide(); //A back mechanism for touch only devices
|
||||
}
|
||||
|
||||
Window {
|
||||
id: notesWindow;
|
||||
width: 400
|
||||
height: 300
|
||||
|
||||
title: "QML Presentation: Notes"
|
||||
visible: root.showNotes
|
||||
|
||||
Flickable {
|
||||
anchors.fill: parent
|
||||
contentWidth: parent.width
|
||||
contentHeight: textContainer.height
|
||||
|
||||
Item {
|
||||
id: textContainer
|
||||
width: parent.width
|
||||
height: notesText.height + 2 * notesText.padding
|
||||
|
||||
Text {
|
||||
id: notesText
|
||||
|
||||
property real padding: 16;
|
||||
|
||||
x: padding
|
||||
y: padding
|
||||
width: parent.width - 2 * padding
|
||||
|
||||
|
||||
font.pixelSize: 16
|
||||
wrapMode: Text.WordWrap
|
||||
|
||||
property string notes: root.slides[root.currentSlide].notes;
|
||||
|
||||
onNotesChanged: {
|
||||
var result = "";
|
||||
|
||||
var lines = notes.split("\n");
|
||||
var beginNewLine = false
|
||||
for (var i=0; i<lines.length; ++i) {
|
||||
var line = lines[i].trim();
|
||||
if (line.length == 0) {
|
||||
beginNewLine = true;
|
||||
} else {
|
||||
if (beginNewLine && result.length) {
|
||||
result += "\n\n"
|
||||
beginNewLine = false
|
||||
}
|
||||
if (result.length > 0)
|
||||
result += " ";
|
||||
result += line;
|
||||
}
|
||||
}
|
||||
|
||||
if (result.length == 0) {
|
||||
font.italic = true;
|
||||
text = "no notes.."
|
||||
} else {
|
||||
font.italic = false;
|
||||
text = result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
206
qml/calamares/slideshow/Slide.qml
Normal file
|
@ -0,0 +1,206 @@
|
|||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1
|
||||
* License-Filename: LICENSES/LGPLv2.1-Presentation
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the QML Presentation System.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Digia gives you certain additional
|
||||
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
import QtQuick 2.5
|
||||
|
||||
Item {
|
||||
/*
|
||||
Slides can only be instantiated as a direct child of a Presentation {} as they rely on
|
||||
several properties there.
|
||||
*/
|
||||
|
||||
id: slide
|
||||
|
||||
property bool isSlide: true;
|
||||
|
||||
property bool delayPoints: false;
|
||||
property int _pointCounter: 0;
|
||||
function _advance() {
|
||||
if (!parent.allowDelay)
|
||||
return false;
|
||||
|
||||
_pointCounter = _pointCounter + 1;
|
||||
if (_pointCounter < content.length)
|
||||
return true;
|
||||
_pointCounter = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
property string title;
|
||||
property variant content: []
|
||||
property string centeredText
|
||||
property string writeInText;
|
||||
property string notes;
|
||||
|
||||
property real fontSize: parent.height * 0.05
|
||||
property real fontScale: 1
|
||||
|
||||
property real baseFontSize: fontSize * fontScale
|
||||
property real titleFontSize: fontSize * 1.2 * fontScale
|
||||
property real bulletSpacing: 1
|
||||
|
||||
property real contentWidth: width
|
||||
|
||||
// Define the slide to be the "content area"
|
||||
x: parent.width * 0.05
|
||||
y: parent.height * 0.2
|
||||
width: parent.width * 0.9
|
||||
height: parent.height * 0.7
|
||||
|
||||
property real masterWidth: parent.width
|
||||
property real masterHeight: parent.height
|
||||
|
||||
property color titleColor: parent.titleColor;
|
||||
property color textColor: parent.textColor;
|
||||
property string fontFamily: parent.fontFamily;
|
||||
property int textFormat: Text.PlainText
|
||||
|
||||
visible: false
|
||||
|
||||
Text {
|
||||
id: titleText
|
||||
font.pixelSize: titleFontSize
|
||||
text: title;
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.top
|
||||
anchors.bottomMargin: parent.fontSize * 1.5
|
||||
font.bold: true;
|
||||
font.family: slide.fontFamily
|
||||
color: slide.titleColor
|
||||
horizontalAlignment: Text.Center
|
||||
z: 1
|
||||
}
|
||||
|
||||
Text {
|
||||
id: centeredId
|
||||
width: parent.width
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: - parent.y / 3
|
||||
text: centeredText
|
||||
horizontalAlignment: Text.Center
|
||||
font.pixelSize: baseFontSize
|
||||
font.family: slide.fontFamily
|
||||
color: slide.textColor
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
Text {
|
||||
id: writeInTextId
|
||||
property int length;
|
||||
font.family: slide.fontFamily
|
||||
font.pixelSize: baseFontSize
|
||||
color: slide.textColor
|
||||
|
||||
anchors.fill: parent;
|
||||
wrapMode: Text.Wrap
|
||||
|
||||
text: slide.writeInText.substring(0, length);
|
||||
|
||||
NumberAnimation on length {
|
||||
from: 0;
|
||||
to: slide.writeInText.length;
|
||||
duration: slide.writeInText.length * 30;
|
||||
running: slide.visible && parent.visible && slide.writeInText.length > 0
|
||||
}
|
||||
|
||||
visible: slide.writeInText != undefined;
|
||||
}
|
||||
|
||||
|
||||
Column {
|
||||
id: contentId
|
||||
anchors.fill: parent
|
||||
|
||||
Repeater {
|
||||
model: content.length
|
||||
|
||||
Row {
|
||||
id: row
|
||||
|
||||
function decideIndentLevel(s) { return s.charAt(0) == " " ? 1 + decideIndentLevel(s.substring(1)) : 0 }
|
||||
property int indentLevel: decideIndentLevel(content[index])
|
||||
property int nextIndentLevel: index < content.length - 1 ? decideIndentLevel(content[index+1]) : 0
|
||||
property real indentFactor: (10 - row.indentLevel * 2) / 10;
|
||||
|
||||
height: text.height + (nextIndentLevel == 0 ? 1 : 0.3) * slide.baseFontSize * slide.bulletSpacing
|
||||
x: slide.baseFontSize * indentLevel
|
||||
visible: (!slide.parent.allowDelay || !delayPoints) || index <= _pointCounter
|
||||
|
||||
Rectangle {
|
||||
id: dot
|
||||
anchors.baseline: text.baseline
|
||||
anchors.baselineOffset: -text.font.pixelSize / 2
|
||||
width: text.font.pixelSize / 3
|
||||
height: text.font.pixelSize / 3
|
||||
color: slide.textColor
|
||||
radius: width / 2
|
||||
opacity: text.text.length == 0 ? 0 : 1
|
||||
}
|
||||
|
||||
Item {
|
||||
id: space
|
||||
width: dot.width * 1.5
|
||||
height: 1
|
||||
}
|
||||
|
||||
Text {
|
||||
id: text
|
||||
width: slide.contentWidth - parent.x - dot.width - space.width
|
||||
font.pixelSize: baseFontSize * row.indentFactor
|
||||
text: content[index]
|
||||
textFormat: slide.textFormat
|
||||
wrapMode: Text.WordWrap
|
||||
color: slide.textColor
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
font.family: slide.fontFamily
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
38
qml/calamares/slideshow/SlideCounter.qml
Normal file
|
@ -0,0 +1,38 @@
|
|||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* This control just shows a (non-translated) count of the slides
|
||||
* in the slideshow in the format "n / total".
|
||||
*/
|
||||
|
||||
import QtQuick 2.5;
|
||||
|
||||
Rectangle {
|
||||
id: slideCounter
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
width: 100
|
||||
height: 50
|
||||
|
||||
Text {
|
||||
id: slideCounterText
|
||||
anchors.centerIn: parent
|
||||
//: slide counter, %1 of %2 (numeric)
|
||||
text: qsTr("%L1 / %L2").arg(parent.parent.currentSlide + 1).arg(parent.parent.slides.length)
|
||||
}
|
||||
}
|
10
qml/calamares/slideshow/qmldir
Normal file
|
@ -0,0 +1,10 @@
|
|||
module calamares.slideshow
|
||||
|
||||
Presentation 1.0 Presentation.qml
|
||||
Slide 1.0 Slide.qml
|
||||
|
||||
NavButton 1.0 NavButton.qml
|
||||
ForwardButton 1.0 ForwardButton.qml
|
||||
BackButton 1.0 BackButton.qml
|
||||
|
||||
SlideCounter 1.0 SlideCounter.qml
|
183
settings.conf
Normal file
|
@ -0,0 +1,183 @@
|
|||
# Configuration file for Calamares
|
||||
# Syntax is YAML 1.2
|
||||
---
|
||||
# Modules can be job modules (with different interfaces) and QtWidgets view
|
||||
# modules. They could all be placed in a number of different paths.
|
||||
# "modules-search" is a list of strings, each of these can either be a full
|
||||
# path to a directory or the keyword "local".
|
||||
#
|
||||
# "local" means:
|
||||
# - modules in $LIBDIR/calamares/modules, with
|
||||
# - settings in SHARE/calamares/modules or /etc/calamares/modules.
|
||||
# In debug-mode (e.g. calamares -d) "local" also adds some paths
|
||||
# that make sense from inside the build-directory, so that you
|
||||
# can build-and-run with the latest modules immediately.
|
||||
#
|
||||
# Strings other than "local" are taken as paths and interpreted
|
||||
# relative to wherever Calamares is started. It is therefore **strongly**
|
||||
# recommended to use only absolute paths here. This is mostly useful
|
||||
# if your distro has forks of standard Calamares modules, but also
|
||||
# uses some form of upstream packaging which might overwrite those
|
||||
# forked modules -- then you can keep modules somewhere outside of
|
||||
# the "regular" module tree.
|
||||
#
|
||||
#
|
||||
# YAML: list of strings.
|
||||
modules-search: [ local ]
|
||||
|
||||
# Instances section. This section is optional, and it defines custom instances
|
||||
# for modules of any kind. An instance entry has an module name, an instance
|
||||
# name, and a configuration file name. The primary goal of this mechanism is
|
||||
# to allow loading multiple instances of the same module, with different
|
||||
# configuration. If you don't need this, the instances section can safely be
|
||||
# left empty.
|
||||
#
|
||||
# Module name plus instance name makes an instance key, e.g.
|
||||
# "webview@owncloud", where "webview" is the module name (for the webview
|
||||
# viewmodule) and "owncloud" is the instance name. In the *sequence*
|
||||
# section below, use instance-keys to name instances (instead of just
|
||||
# a module name, for modules which have only a single instance).
|
||||
#
|
||||
# Every module implicitly has an instance with the instance name equal
|
||||
# to its module name, e.g. "welcome@welcome". In the *sequence* section,
|
||||
# mentioning a module without a full instance key (e.g. "welcome")
|
||||
# means that implicit module.
|
||||
#
|
||||
# An instance must specify its configuration file (e.g. `webview-home.conf`).
|
||||
# The implicit instances all have configuration files named `<module>.conf`.
|
||||
# This (implict) way matches the source examples, where the welcome
|
||||
# module contains an example `welcome.conf`.
|
||||
#
|
||||
# For more information on running module instances, run Calamares in debug
|
||||
# mode and check the Modules page in the Debug information interface.
|
||||
#
|
||||
# A module that is often used with instances is shellprocess, which will
|
||||
# run shell commands specified in the configuration file. By configuring
|
||||
# more than one instance of the module, multiple shell sessions can be run
|
||||
# during install.
|
||||
#
|
||||
# YAML: list of maps of string:string key-value pairs.
|
||||
#instances:
|
||||
#- id: owncloud
|
||||
# module: webview
|
||||
# config: owncloud.conf
|
||||
|
||||
# Sequence section. This section describes the sequence of modules, both
|
||||
# viewmodules and jobmodules, as they should appear and/or run.
|
||||
#
|
||||
# A jobmodule instance key (or name) can only appear in an exec phase, whereas
|
||||
# a viewmodule instance key (or name) can appear in both exec and show phases.
|
||||
# There is no limit to the number of show or exec phases. However, the same
|
||||
# module instance key should not appear more than once per phase, and
|
||||
# deployers should take notice that the global storage structure is persistent
|
||||
# throughout the application lifetime, possibly influencing behavior across
|
||||
# phases. A show phase defines a sequence of viewmodules (and therefore
|
||||
# pages). These viewmodules can offer up jobs for the execution queue.
|
||||
#
|
||||
# An exec phase displays a progress page (with brandable slideshow). This
|
||||
# progress page iterates over the modules listed in the *immediately
|
||||
# preceding* show phase, and enqueues their jobs, as well as any other jobs
|
||||
# from jobmodules, in the order defined in the current exec phase.
|
||||
#
|
||||
# It then executes the job queue and clears it. If a viewmodule offers up a
|
||||
# job for execution, but the module name (or instance key) isn't listed in the
|
||||
# immediately following exec phase, this job will not be executed.
|
||||
#
|
||||
# YAML: list of lists of strings.
|
||||
sequence:
|
||||
- show:
|
||||
- welcome
|
||||
- locale
|
||||
- keyboard
|
||||
- partition
|
||||
- users
|
||||
- summary
|
||||
- exec:
|
||||
- partition
|
||||
- mount
|
||||
- unpackfs
|
||||
- machineid
|
||||
- fstab
|
||||
- locale
|
||||
- keyboard
|
||||
- localecfg
|
||||
- luksopenswaphookcfg
|
||||
- luksbootkeyfile
|
||||
- plymouthcfg
|
||||
- initcpiocfg
|
||||
- initcpio
|
||||
- users
|
||||
- displaymanager
|
||||
- mhwdcfg
|
||||
- networkcfg
|
||||
- hwclock
|
||||
- services
|
||||
- grubcfg
|
||||
- bootloader
|
||||
- postcfg
|
||||
- umount
|
||||
- show:
|
||||
- finished
|
||||
|
||||
# A branding component is a directory, either in SHARE/calamares/branding or
|
||||
# in /etc/calamares/branding (the latter takes precedence). The directory must
|
||||
# contain a YAML file branding.desc which may reference additional resources
|
||||
# (such as images) as paths relative to the current directory.
|
||||
#
|
||||
# A branding component can also ship a QML slideshow for execution pages,
|
||||
# along with translation files.
|
||||
#
|
||||
# Only the name of the branding component (directory) should be specified
|
||||
# here, Calamares then takes care of finding it and loading the contents.
|
||||
#
|
||||
# YAML: string.
|
||||
branding: tromjaro
|
||||
|
||||
# If this is set to true, Calamares will show an "Are you sure?" prompt right
|
||||
# before each execution phase, i.e. at points of no return. If this is set to
|
||||
# false, no prompt is shown. Default is false, but Calamares will complain if
|
||||
# this is not explicitly set.
|
||||
#
|
||||
# YAML: boolean.
|
||||
prompt-install: false
|
||||
|
||||
# If this is set to true, Calamares will execute all target environment
|
||||
# commands in the current environment, without chroot. This setting should
|
||||
# only be used when setting up Calamares as a post-install configuration tool,
|
||||
# as opposed to a full operating system installer.
|
||||
#
|
||||
# Some official Calamares modules are not expected to function with this
|
||||
# setting. (e.g. partitioning seems like a bad idea, since that is expected to
|
||||
# have been done already)
|
||||
#
|
||||
# Default is false (for a normal installer), but Calamares will complain if
|
||||
# this is not explicitly set.
|
||||
#
|
||||
# YAML: boolean.
|
||||
dont-chroot: false
|
||||
|
||||
# If this is set to true, Calamares refers to itself as a "setup program"
|
||||
# rather than an "installer". Defaults to the value of dont-chroot, but
|
||||
# Calamares will complain if this is not explicitly set.
|
||||
# oem-setup: true
|
||||
|
||||
# If this is set to true, the "Cancel" button will be disabled entirely.
|
||||
# The button is also hidden from view.
|
||||
#
|
||||
# This can be useful if when e.g. Calamares is used as a post-install
|
||||
# configuration tool and you require the user to go through all the
|
||||
# configuration steps.
|
||||
#
|
||||
# Default is false, but Calamares will complain if this is not explicitly set.
|
||||
#
|
||||
# YAML: boolean.
|
||||
disable-cancel: false
|
||||
|
||||
# If this is set to true, the "Cancel" button will be disabled once
|
||||
# you start the 'Installation', meaning there won't be a way to cancel
|
||||
# the Installation until it has finished or installation has failed.
|
||||
#
|
||||
# Default is false, but Calamares will complain if this is not explicitly set.
|
||||
#
|
||||
# YAML: boolean.
|
||||
disable-cancel-during-exec: false
|