From 9a75765709b9ed7bd4fa6f889794be178843f1bc Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa@fedoraproject.org>
Date: Sat, 2 Sep 2023 08:22:35 -0400
Subject: [PATCH] Adjust Calamares default settings to align with Fedora
defaults
This aligns Calamares closer to what Anaconda is configured to do
for Fedora Linux installations.
---
CMakeLists.txt | 2 +-
settings.conf | 17 +++++++++--------
src/branding/default/branding.desc | 12 ++++++------
src/modules/bootloader/bootloader.conf | 14 ++++++++------
src/modules/keyboard/keyboard.conf | 2 +-
src/modules/license/license.conf | 20 ++++----------------
src/modules/locale/locale.conf | 4 ++--
src/modules/mount/mount.conf | 11 +++--------
src/modules/netinstall/netinstall.conf | 4 +++-
src/modules/packages/packages.conf | 15 ++++-----------
src/modules/partition/partition.conf | 4 ++--
src/modules/plasmalnf/plasmalnf.conf | 18 +++++++++---------
src/modules/tracking/tracking.conf | 4 ++--
src/modules/unpackfs/unpackfs.conf | 13 +++----------
src/modules/users/users.conf | 17 ++++++++---------
src/modules/welcome/welcome.conf | 14 +++++++-------
16 files changed, 72 insertions(+), 99 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 42ceae1..47c3080 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,7 +54,7 @@ endif()
### OPTIONS
#
-option( INSTALL_CONFIG "Install configuration files" OFF )
+option( INSTALL_CONFIG "Install configuration files" ON )
option( INSTALL_POLKIT "Install Polkit configuration" ON )
option( INSTALL_COMPLETION "Install shell completions" OFF )
# Options for the calamares executable
diff --git a/settings.conf b/settings.conf
index 2897da9..b25061f 100644
--- a/settings.conf
+++ b/settings.conf
@@ -135,21 +135,22 @@ sequence:
- locale
- keyboard
- localecfg
-# - luksbootkeyfile
+ - luksbootkeyfile
# - luksopenswaphookcfg
-# - dracutlukscfg
+ - dracutlukscfg
# - plymouthcfg
- - initcpiocfg
- - initcpio
+# - initcpiocfg
+# - initcpio
- users
- displaymanager
- networkcfg
- hwclock
- services-systemd
-# - dracut
- - initramfs
-# - grubcfg
+ - dracut
+# - initramfs
+ - grubcfg
- bootloader
+ - packages
- umount
- show:
# - webview@owncloud
@@ -167,7 +168,7 @@ sequence:
# here, Calamares then takes care of finding it and loading the contents.
#
# YAML: string.
-branding: default
+branding: auto
# 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
diff --git a/src/branding/default/branding.desc b/src/branding/default/branding.desc
index b875741..547161b 100644
--- a/src/branding/default/branding.desc
+++ b/src/branding/default/branding.desc
@@ -122,12 +122,12 @@ navigation: widget
# are set to "true" (they can also be overridden).
strings:
productName: "@{NAME}"
- shortProductName: Generic
- version: 2020.2 LTS
- shortVersion: 2020.2
- versionedName: Fancy GNU/Linux 2020.2 LTS "Turgid Tuba"
- shortVersionedName: FancyGL 2020.2
- bootloaderEntryName: FancyGL
+ shortProductName: "@{NAME}"
+ version: "@{VERSION}"
+ shortVersion: "@{VERSION_ID}"
+ versionedName: "@{NAME} @{VERSION}"
+ shortVersionedName: "@{NAME} @{VERSION_ID}"
+ bootloaderEntryName: "@{NAME}"
productUrl: https://calamares.io/
supportUrl: https://github.com/calamares/calamares/wiki
knownIssuesUrl: https://github.com/calamares/calamares/issues
diff --git a/src/modules/bootloader/bootloader.conf b/src/modules/bootloader/bootloader.conf
index c9d5c78..dc03fc4 100644
--- a/src/modules/bootloader/bootloader.conf
+++ b/src/modules/bootloader/bootloader.conf
@@ -11,7 +11,7 @@
---
# Define which bootloader you want to use for EFI installations
# Possible options are 'grub', 'sb-shim' and 'systemd-boot'.
-efiBootLoader: "grub"
+efiBootLoader: "sb-shim"
# systemd-boot configuration files settings, set kernel and initramfs file names
# and amount of time before default selection boots
@@ -33,10 +33,10 @@ timeout: "10"
# 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"
+grubInstall: "grub2-install"
+grubMkconfig: "grub2-mkconfig"
+grubCfg: "/boot/grub2/grub.cfg"
+grubProbe: "grub2-probe"
efiBootMgr: "efibootmgr"
# Optionally set the bootloader ID to use for EFI. This is passed to
@@ -64,7 +64,9 @@ efiBootMgr: "efibootmgr"
# packages may need to set this to "debian" because that is
# hard-coded in `grubx64.efi`.
#
-# efiBootloaderId: "dirname"
+# PACKAGER NOTE: If you really want to change this value, you will also have to
+# change the hardcoded directory name in the grub2(-efi) package.
+efiBootloaderId: "fedora"
# Optionally install a copy of the GRUB EFI bootloader as the EFI
# fallback loader (either bootia32.efi or bootx64.efi depending on
diff --git a/src/modules/keyboard/keyboard.conf b/src/modules/keyboard/keyboard.conf
index 2a8e851..3ddd791 100644
--- a/src/modules/keyboard/keyboard.conf
+++ b/src/modules/keyboard/keyboard.conf
@@ -20,7 +20,7 @@ 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
+writeEtcDefaultKeyboard: false
# Use the Locale1 service instead of directly managing configuration files.
# This is the modern mechanism for configuring the systemwide keyboard layout,
diff --git a/src/modules/license/license.conf b/src/modules/license/license.conf
index e32d499..be95158 100644
--- a/src/modules/license/license.conf
+++ b/src/modules/license/license.conf
@@ -22,24 +22,12 @@
# default, rather than requiring the user to first open it up.
# YAML: boolean, optional, default is false.
entries:
-- id: nvidia
- name: Nvidia
- vendor: Nvidia Corporation
+- id: evil
+ name: Evil
+ vendor: Evil Corporation
type: driver
- url: http://developer.download.nvidia.com/cg/Cg_3.0/license.pdf
+ url: http://www.example.com/evil_666.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
diff --git a/src/modules/locale/locale.conf b/src/modules/locale/locale.conf
index 4463f7a..bb022c1 100644
--- a/src/modules/locale/locale.conf
+++ b/src/modules/locale/locale.conf
@@ -118,8 +118,8 @@ zone: "New_York"
#
geoip:
style: "json"
- url: "https://geoip.kde.org/v1/calamares"
- selector: "" # leave blank for the default
+ url: "https://geoip.fedoraproject.org/city"
+ selector: "time_zone"
# For testing purposes, you could use *fixed* style, to see how Calamares
# behaves in a particular zone:
diff --git a/src/modules/mount/mount.conf b/src/modules/mount/mount.conf
index 84dca05..e7e6f4c 100644
--- a/src/modules/mount/mount.conf
+++ b/src/modules/mount/mount.conf
@@ -53,13 +53,8 @@ extraMountsEfi:
btrfsSubvolumes:
- mountPoint: /
- subvolume: /@
- # As an alternative:
- #
- # subvolume: ""
+ subvolume: /@root
+ - mountPoint: /boot
+ subvolume: /@boot
- mountPoint: /home
subvolume: /@home
- - mountPoint: /var/cache
- subvolume: /@cache
- - mountPoint: /var/log
- subvolume: /@log
diff --git a/src/modules/netinstall/netinstall.conf b/src/modules/netinstall/netinstall.conf
index d38c0b0..7ae95f6 100644
--- a/src/modules/netinstall/netinstall.conf
+++ b/src/modules/netinstall/netinstall.conf
@@ -69,7 +69,9 @@
# they are interpreted like the *groups* key below. The special case
# `local` loads the data directly from **this** file.
#
-groupsUrl: local
+# Packager note: If you want to enable the netinstall module, you will also have
+# to create such a file (see the example in the source code).
+groupsUrl: file:///etc/calamares/modules/netinstall.yaml
# Alternate form:
# groupsUrl: [ local ]
diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf
index 6e62f4b..cb134e1 100644
--- a/src/modules/packages/packages.conf
+++ b/src/modules/packages/packages.conf
@@ -35,7 +35,7 @@
# Not actually a package manager, but suitable for testing:
# - dummy - Dummy manager, only logs
#
-backend: dummy
+backend: dnf
#
# Often package installation needs an internet connection.
@@ -59,7 +59,7 @@ backend: dummy
# Therefore set also "update_system" to 'true'.
#
skip_if_no_internet: false
-update_db: true
+update_db: false
update_system: false
# pacman specific options
@@ -202,12 +202,5 @@ pacman:
# of packages, this can lead to a considerable time savings.
#
operations:
- - install:
- - vi
- - vi-${LOCALE}
- - wget
- - binutils
- - remove:
- - vi
- - wget
- - binutils
+ - try_remove:
+ - calamares
diff --git a/src/modules/partition/partition.conf b/src/modules/partition/partition.conf
index d1c5ba2..058169f 100644
--- a/src/modules/partition/partition.conf
+++ b/src/modules/partition/partition.conf
@@ -65,7 +65,7 @@ userSwapChoices:
# neverCreateSwap: false
# Correctly draw nested (e.g. logical) partitions as such.
-drawNestedPartitions: false
+drawNestedPartitions: true
# Show/hide partition labels on manual partitioning page.
alwaysShowPartitionLabels: true
@@ -142,7 +142,7 @@ initialSwapChoice: none
# If nothing is specified, Calamares defaults to "ext4".
#
# Names are case-sensitive and defined by KPMCore.
-defaultFileSystemType: "ext4"
+defaultFileSystemType: "btrfs"
# Selectable filesystem type, used when "erase" is done.
#
diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf
index 105f247..b9105d1 100644
--- a/src/modules/plasmalnf/plasmalnf.conf
+++ b/src/modules/plasmalnf/plasmalnf.conf
@@ -22,7 +22,7 @@ lnftool: "/usr/bin/lookandfeeltool"
# to the originating username; the lnftool will be run through
# "sudo -H -u <liveuser>" instead of directly.
#
-# liveuser: "live"
+liveuser: "liveuser"
# If *showAll* is true, then all installed themes are shown in the
# UI for selection, even if they are not listed in *themes* (below).
@@ -30,7 +30,7 @@ lnftool: "/usr/bin/lookandfeeltool"
# listed in *themes* -- which is useful to show screenshots for those
# you do have a screenshot for. If *themes* is empty or missing,
# the value of *showAll* is treated as `true`.
-showAll: false
+showAll: true
# 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.
@@ -58,13 +58,13 @@ showAll: false
# 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
+#themes:
+# - org.kde.fuzzy-pig.desktop
+# - theme: org.kde.breeze.desktop
+# image: "breeze.png"
+# - theme: org.kde.breezedark.desktop
+# image: "breeze-dark.png"
+# - org.kde.fluffy-bunny.desktop
# You can pre-select one of the themes; it is not applied
# immediately, but its radio-button is switched on to indicate
diff --git a/src/modules/tracking/tracking.conf b/src/modules/tracking/tracking.conf
index 6f72622..2777a67 100644
--- a/src/modules/tracking/tracking.conf
+++ b/src/modules/tracking/tracking.conf
@@ -54,13 +54,13 @@
# This is the global policy; it is displayed as a link on the page.
# If blank or commented out, no link is displayed on the tracking
# page. You **must** provide policy links per-area as well.
-policy: "https://github.com/calamares/calamares/wiki/Use-Guide#installation-tracking"
+#policy: "https://github.com/calamares/calamares/wiki/Use-Guide#installation-tracking"
# This is the default area to enable for tracking. If commented out,
# empty, or otherwise invalid, "none" is used, so no tracking by default.
# Setting an area here also checks the areas before it (install, machine,
# then user) by default -- subject to those areas being enabled at all.
-# default: user
+default: none
# The install area has one specific configuration key:
# url: this URL (remember to include the protocol, and prefer https)
diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf
index d12110b..6d07324 100644
--- a/src/modules/unpackfs/unpackfs.conf
+++ b/src/modules/unpackfs/unpackfs.conf
@@ -88,13 +88,6 @@
# for its destination name, as in the example below.
unpack:
- - source: ../CHANGES
- sourcefs: file
- destination: "/tmp/changes.txt"
- weight: 1 # Single file
- - source: src/qml/calamares/slideshow
- sourcefs: file
- destination: "/tmp/slideshow/"
- exclude: [ "*.qmlc", "qmldir" ]
- weight: 5 # Lots of files
- # excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt
+ - source: "/dev/mapper/live-base"
+ sourcefs: "ext4"
+ destination: ""
diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf
index 779d1af..f5e7970 100644
--- a/src/modules/users/users.conf
+++ b/src/modules/users/users.conf
@@ -34,8 +34,7 @@ defaultGroups:
system: true
- lp
- video
- - network
- - storage
+ - dialout
- name: wheel
must_exist: false
system: true
@@ -51,7 +50,7 @@ autologinGroup: autologin
# - true to check or
# - false to uncheck
# These set the **initial** state of the checkbox.
-doAutologin: true
+doAutologin: false
# When *sudoersGroup* is set to a non-empty string, Calamares creates a
# sudoers file for the user. This file is located at:
@@ -62,7 +61,7 @@ doAutologin: true
# 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
+#sudoersGroup: wheel
# If set to `false` (the default), writes a sudoers file with `(ALL)`
# so that the command can be run as any user. If set to `true`, writes
# `(ALL:ALL)` so that any user and any group can be chosen.
@@ -119,9 +118,9 @@ passwordRequirements:
nonempty: true
minLength: -1 # Password at least this many characters
maxLength: -1 # Password at most this many characters
- libpwquality:
- - minlen=0
- - minclass=0
+# libpwquality:
+# - minlen=0
+# - minclass=0
# You can control the visibility of the 'strong passwords' checkbox here.
# Possible values are:
@@ -159,12 +158,12 @@ allowWeakPasswordsDefault: false
# names for a given distro (eg. "video", or "mysql" might not be a valid
# end-user login name).
user:
- shell: /bin/bash
+ shell: ""
forbidden_names: [ root ]
# TODO:3.3: Remove this setting
#
# This is the legacy setting for user.shell
-userShell: /bin/bash
+userShell: ""
# Hostname settings
#
diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf
index 6e11817..ebf4987 100644
--- a/src/modules/welcome/welcome.conf
+++ b/src/modules/welcome/welcome.conf
@@ -23,7 +23,7 @@ showSupportUrl: true
showKnownIssuesUrl: true
showReleaseNotesUrl: false
# TODO:3.3 Move to branding, keep only a bool here
-showDonateUrl: https://kde.org/community/donations/
+showDonateUrl: false
# Requirements checking. These are general, generic, things
# that are checked. They may not match with the actual requirements
@@ -42,7 +42,7 @@ requirements:
# Use a privacy-respecting URL here, preferably in your distro's domain.
#
# The URL is only used if "internet" is in the *check* list below.
- internetCheckUrl: http://example.com
+ internetCheckUrl: https://fedoraproject.org/static/hotspot.txt
#
# This may be a single URL, or a list or URLs, in which case the
# URLs will be checked one-by-one; if any of them returns data,
@@ -76,9 +76,9 @@ requirements:
# If any of these conditions are not met, the user cannot
# continue past the welcome page.
required:
- # - storage
+ - storage
- ram
- # - root
+ - root
# GeoIP checking
#
@@ -102,9 +102,9 @@ requirements:
# data. Timezone, city, or other data will not be recognized.
#
geoip:
- style: "none"
- url: "https://geoip.kde.org/v1/ubiquity" # extended XML format
- selector: "CountryCode" # blank uses default, which is wrong
+ style: "json"
+ url: "https://geoip.fedoraproject.org/city"
+ selector: "country_code"
# User interface
#
--
2.41.0