Blob Blame History Raw
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