rely on dnf groups when possible, to better track upstream. Add new base graphical group.

Add new labwc test ingredient
This commit is contained in:
Lukas Greve
2026-02-15 19:33:29 +01:00
parent 714d27b6dc
commit 63e7830c4d
11 changed files with 217 additions and 139 deletions
+33 -13
View File
@@ -1,21 +1,41 @@
xconfig --startxonboot --defaultdesktop=GNOME # Start the display session on boot. Although it says --startx, which seems to imply xorg, it is actually generic and thus works also with Wayland. xconfig --startxonboot --defaultdesktop=GNOME # Start the display session on boot. Although it says --startx, which seems to imply xorg, it is actually generic and thus works also with Wayland.
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak dependencies %packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies
gnome-shell # the version 3 of the GNOME desktop environment, without any presintalled applications ## Mandatory packages found in hidden `@base-graphical` group (`dnf group info --hidden base-graphical`)
gnome-terminal # install the default terminal for GNOME Shell @base-graphical
## provides the following as mandatory packages:
# mesa-dri-drivers
# mesa-vulkan-drivers
# plymouth-system-theme
# @critical-path-gnome not using this group but hand-picking packages
## Mandatory packages found in hidden `@critical-path-gnome` group (`dnf group info --hidden critical-path-gnome`)
## Not using
## provides the following as mandatory packages:
bash-color-prompt # Color prompt for bash shell
dconf # A configuration system
gdm # The GNOME Display Manager
# gnome-classic-session # GNOME "classic" mode session
gnome-control-center # Utilities to configure the GNOME desktop gnome-control-center # Utilities to configure the GNOME desktop
-gnome-tour # delete GNOME Tour so it doesn't automatically launch on boot # gnome-initial-setup # Bootstrapping your OS
mesa-dri-drivers # add mesa drivers otherwise there is a blank screen when first booting a desktop-based kickstart without virtualization tools gnome-shell # Window management and application launching for GNOME
dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in GNOME Terminal. GNOME Terminal unfortunately doesn't automatically pick this font gvfs-fuse # FUSE support for gvfs
# ptyxis # A container oriented terminal for GNOME
### and the following as default packages
# NetworkManager-pptp # NetworkManager VPN plugin for PPTP
# avahi # Local network service discovery
# gnome-bluetooth # Bluetooth graphical utilities
gnome-session-wayland-session
# gnome-software # A software center for GNOME
nautilus # File manager for GNOME
# toolbox # Tool for interactive command line environments on Linux
## Extra hand-picked packages
gnome-backgrounds.noarch # wallpapers from the GNOME project gnome-backgrounds.noarch # wallpapers from the GNOME project
wpa_supplicant # WPA Supplicant for Linux. It is not packaged by default in GNOME Shell, but necessary to configure wireless networks using the Network Manager dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in GNOME Terminal. GNOME Terminal unfortunately doesn't automatically pick this font
NetworkManager-wifi # Provides the plugin to manage Wireless networking within GNOME Shell firefox # Mozilla Firefox Web browser
firefox # Internet browser mozilla-ublock-origin.noarch # An efficient blocker for Firefox
mozilla-ublock-origin.noarch # An efficient ad blocker for Firefox
pipewire-alsa # PipeWire media server ALSA support
pipewire-pulseaudio # PipeWire PulseAudio implementation
pipewire-jack-audio-connection-kit # PipeWire JACK implementation
%end # End of the packagages section %end # End of the packagages section
+20
View File
@@ -0,0 +1,20 @@
# Untested
xconfig --startxonboot # Start the display session on boot. Although it says --startx, which seems to imply xorg, it is actually generic and thus works also with Wayland.
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
## Mandatory packages found in hidden `@base-graphical` group (`dnf group info --hidden base-graphical`)
@base-graphical
## provides the following as mandatory packages:
# mesa-dri-drivers
# mesa-vulkan-drivers
# plymouth-system-theme
labwc # A Wayland window-stacking compositor
## Extra hand-picked packages
firefox # Mozilla Firefox Web browser
mozilla-ublock-origin.noarch # An efficient blocker for Firefox
%end # End of the packagages section
+1 -1
View File
@@ -1,4 +1,4 @@
%packages --exclude-weakdeps # Beginning of the packages section. Does not include weak dependencies. %packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
qemu-guest-agent # "QEMU guest agent" The qemu-guest agent is unnecessary for a bare-metal system. However, it is included here to cover cases where this kickstart file is used to deploy a virtual machine qemu-guest-agent # "QEMU guest agent" The qemu-guest agent is unnecessary for a bare-metal system. However, it is included here to cover cases where this kickstart file is used to deploy a virtual machine
spice-vdagent # "Agent for Spice guests" The spice agent is unnecessary for a bare-metal system. However, it is included here to cover cases where this kickstart file is used to deploy a virtual machine spice-vdagent # "Agent for Spice guests" The spice agent is unnecessary for a bare-metal system. However, it is included here to cover cases where this kickstart file is used to deploy a virtual machine
@@ -1,21 +0,0 @@
firstboot --enable --reconfig # Initial Setup will start after the first reboot
%packages --exclude-weakdeps # Beginning of the packages section. Do not include weak dependencies.
gnome-initial-setup # Add GNOME initial setup too to let user create local account.
%end # End of the packages section
%post --nochroot --log=/mnt/sysimage/root/base-initial-setup-gnome.log # Beginning of %post section. Those commands are executed outside the chroot environment. Add logging.
truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
## Append lines to existing vendor.conf file, so that options are skipped upon reboot
cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
[pages]
skip=privacy
[goa]
providers=local-first!
EOF
%end # End of the %post section
@@ -0,0 +1,8 @@
firstboot --enable --reconfig # Initial Setup will start after the first reboot
%packages # Beginning of the packages section
initial-setup-gui #Graphical user interface for the initial-setup utility
initial-setup-gui-wayland-generic # Run the initial-setup GUI in Wayland
%end # End of the packages section
@@ -0,0 +1,21 @@
firstboot --enable --reconfig # Initial Setup will start after the first reboot
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
gnome-initial-setup # Add GNOME initial setup too to let user create local account.
%end # End of the packages section
# %post --nochroot --log=/mnt/sysimage/root/base-initial-setup-gnome.log # Beginning of %post section. Those commands are executed outside the chroot environment. Add logging.
#
# truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
#
# ## Append lines to existing vendor.conf file, so that options are skipped upon reboot
# cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
# [pages]
# skip=privacy
# [goa]
# providers=local-first!
# EOF
#
# %end # End of the %post section
+1 -1
View File
@@ -1,6 +1,6 @@
firstboot --enable --reconfig # Enable the Setup Agent to start at boot time in reconfiguration mode. This mode enables the language, mouse, keyboard, root password, security level, time zone, and networking configuration options in addition to the default ones firstboot --enable --reconfig # Enable the Setup Agent to start at boot time in reconfiguration mode. This mode enables the language, mouse, keyboard, root password, security level, time zone, and networking configuration options in addition to the default ones
%packages --exclude-weakdeps # Beginning of the packages section. Do not include weak dependencies %packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
initial-setup # Initial setup package initial-setup # Initial setup package
-23
View File
@@ -1,23 +0,0 @@
%packages --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
# Default packages fom core dnf group not marked as mandatory (`dnf group info --hidden core`)
NetworkManager # Network connection manager and user applications
NetworkManager-config-connectivity-fedora # NetworkManager config file for connectivity checking via Fedora servers
dnf5-plugins # Plugins for dnf5
dracut-config-rescue # dracut configuration to turn on rescue image generation
firewalld # A firewall daemon with D-Bus interface providing a dynamic firewall
fwupd # Firmware update daemon
plymouth # Graphical Boot Animation and Logger
prefixdevname # Udev helper utility that provides network interface naming using user defined prefix
systemd-resolved # Network Name Resolution manager
zram-generator-defaults # Default configuration for zram-generator
# Hand-picked packages
pciutils # PCI bus related utilities
libusb # Library for accessing USB devices
usbutils # Linux USB utilities
curl # transfer a URL
wget # An advanced file and recursive website downloader
nano # A small text editor
%end # End of the packages section
+51 -22
View File
@@ -5,29 +5,58 @@
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ # / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/ # /_/ /____/
# #
# Provides extended hardware support # Provides extended physical hardware support. Useful for a bare metal OS.
%packages --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies %packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
# hardware-support group. Mandatory packages # Provides extended hardware support, and especially extra wireless drivers @hardware-support
alsa-sof-firmware # Audio drivers and firmware for ALSA. Essential for audio functionality. ## Mandatory packages found in hidden `hardware-support` group (`dnf group info --hidden core`)
amd-gpu-firmware # Firmware for AMD GPUs. Required for proper GPU operation. # alsa-sof-firmware # Audio drivers and firmware for ALSA. Essential for audio functionality.
atheros-firmware # Firmware for Atheros wireless network adapters. Critical for wireless connectivity. # amd-gpu-firmware # Firmware for AMD GPUs. Required for proper GPU operation.
b43-fwcutter # Utility for cutting firmware files for B43 drivers. Needed for driver compatibility. # atheros-firmware # Firmware for Atheros wireless network adapters. Critical for wireless connectivity.
b43-openfwwf # Driver and firmware for B43 network cards. Essential for network card operation. # b43-fwcutter # Utility for cutting firmware files for B43 drivers. Needed for driver compatibility.
brcmfmac-firmware # Firmware for Broadcom MAC controllers. Required for wireless and wired network performance. # b43-openfwwf # Driver and firmware for B43 network cards. Essential for network card operation.
cirrus-audio-firmware # Firmware for Cirrus Logic audio chips. Necessary for audio hardware support. # brcmfmac-firmware # Firmware for Broadcom MAC controllers. Required for wireless and wired network performance.
intel-audio-firmware # Firmware for Intel audio processors. Required for integrated audio functionality. # cirrus-audio-firmware # Firmware for Cirrus Logic audio chips. Necessary for audio hardware support.
intel-gpu-firmware # Firmware for Intel GPUs. Essential for GPU operation. # intel-audio-firmware # Firmware for Intel audio processors. Required for integrated audio functionality.
intel-vsc-firmware # Firmware for Intel Video Scheduling Controller. Required for GPU performance. # intel-gpu-firmware # Firmware for Intel GPUs. Essential for GPU operation.
iwlegacy-firmware # Legacy firmware for older Intel wireless cards. Needed for compatibility. # intel-vsc-firmware # Firmware for Intel Video Scheduling Controller. Required for GPU performance.
iwlwifi-dvm-firmware # Firmware for Intel Wireless Link 5100/5200 series. Crucial for wireless connectivity. # iwlegacy-firmware # Legacy firmware for older Intel wireless cards. Needed for compatibility.
iwlwifi-mvm-firmware # Firmware for Intel Wireless Link 5300/5400 series. Required for wireless performance. # iwlwifi-dvm-firmware # Firmware for Intel Wireless Link 5100/5200 series. Crucial for wireless connectivity.
libertas-firmware # Firmware for Broadcom wireless network cards. Essential for wireless connectivity. # iwlwifi-mvm-firmware # Firmware for Intel Wireless Link 5300/5400 series. Required for wireless performance.
mt7xxx-firmware # Firmware for MediaTek wireless network adapters. Required for wireless connectivity. # libertas-firmware # Firmware for Broadcom wireless network cards. Essential for wireless connectivity.
nvidia-gpu-firmware # Firmware for NVIDIA GPUs. Essential for GPU operation. # mt7xxx-firmware # Firmware for MediaTek wireless network adapters. Required for wireless connectivity.
nxpwireless-firmware # Firmware for NXP wireless network adapters. Required for wireless connectivity. # nvidia-gpu-firmware # Firmware for NVIDIA GPUs. Essential for GPU operation.
realtek-firmware # Firmware for Realtek network adapters and audio devices. Essential for various device support. # nxpwireless-firmware # Firmware for NXP wireless network adapters. Required for wireless connectivity.
tiwilink-firmware # Firmware for TI WiLink wireless network adapters. Required for wireless connectivity. # realtek-firmware # Firmware for Realtek network adapters and audio devices. Essential for various device support.
# tiwilink-firmware # Firmware for TI WiLink wireless network adapters. Required for wireless connectivity.
#
# ## Optional packages found in hidden `hardware-support` group (`dnf group info --hidden hardware-support`)
# ## Not installed by default unless "@hardware-support --optional" is used
# acpi # Command-line ACPI client
# acpitool # Command line ACPI client
# alsa-firmware # Firmware for several ALSA-supported sound cards
# atmel-firmware # Firmware for Atmel at76c50x wireless network chips
# cmospwd # BIOS password cracker utility
# dvb-firmware # Firmware for various DVB broadcast receivers
# gpsd # Service daemon for mediating access to a GPS
# gpsd-clients # Clients for gpsd
# hddtemp # Hard disk temperature tool
# hdparm # A utility for displaying and/or setting hard disk parameters
# iscan-firmware # Firmware for Epson flatbed scanners
# libifp # General-purpose library-driver for iRiver's iFP portable audio players
# liquidio-firmware # Firmware for Cavium LiquidIO Intelligent Server Adapter
# lsscsi # List SCSI devices (or hosts) and associated information
# mlxsw_spectrum-firmware # Firmware for Mellanox Spectrum 1/2/3 Switches
# mrvlprestera-firmware # Firmware for Marvell Prestera Switchdev/ASIC devices
# netronome-firmware # Firmware for Netronome Smart NICs
# opensc # Smart card library and applications
# pcsc-lite # PC/SC Lite smart card framework and applications
# pcsc-lite-ccid # Generic USB CCID smart card reader driver
# qcom-accel-firmware # Firmware for Qualcomm Technologies data center / Open-vRAN Accelerators
# qed-firmware # Firmware for Marvell FastLinQ adapters family
# radeontop # AMD Radeon video cards monitoring utility
# wpan-tools # Userspace tools for the Linux IEEE 802.15.4 stack
# zd1211-firmware # Firmware for wireless devices based on zd1211 chipset
%end # End of the packages section %end # End of the packages section
-58
View File
@@ -1,58 +0,0 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
#
# Provides the mandatory packages that are part of the core DNF group
# More information: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#id240
%packages --ignoremissing --nocore --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
# Mandatory packages found in hidden `core` group (`dnf group info --hidden core`)
audit # User space tools for kernel auditing
basesystem # The skeleton package which defines a simple Fedora system
bash # The Bourne Again SHell, a command-line interpreter.
coreutils # A set of basic GNU tools commonly used in shell scripts
curl # A utility for getting files from remote servers (FTP, HTTP, and others)
dhcp-client # Provides the ISC DHCP client daemon and dhclient-script
dnf5 # Command-line package manager
dracut # Initramfs generator using udev
e2fsprogs # Utilities for managing ext2, ext3, and ext4 file systems
filesystem # The basic directory layout for a Linux system
glibc # The GNU libc libraries
hostname # Utility to set/show the host name or domain name
iproute # Advanced IP routing and network device configuration tools
iputils # Network monitoring tools including ping
kbd # Tools for configuring the console (keyboard, virtual terminals, etc.)
kernel # The Linux kernel
less # A text file browser similar to more, but better. Can be excluded
man-db # Tools for searching and reading man pages. Can be excluded
ncurses # Ncurses support utilities
openssh-clients # An open source SSH client applications. Can be excluded
openssh-server # An open source SSH server daemon. Can be excluded
parted # The GNU disk partition manipulation program
policycoreutils # SELinux policy core utilities. Can be excluded
procps-ng # System and process monitoring utilities
rootfiles # The basic required files for the root user's directory
rpm # The RPM package management system
selinux-policy-targeted # SELinux targeted policy. Can be excluded
setup # A set of system configuration and setup files
shadow-utils # Utilities for managing accounts and shadow password files
sssd-common # Common files for the SSSD. Can be excluded
sssd-kcm # An implementation of a Kerberos KCM server. Can be excluded
sudo # Allows restricted root access for specified users
systemd # System and Service Manager
util-linux # Collection of basic system utilities
vim-minimal # A minimal version of the VIM editor
# Packages to make Phyllome OS a generic distro
# Adds packages to comply with Fedora Remix legal guidelines: https://fedoraproject.org/wiki/Remix
fedora-remix-logos # Fedora Remix logos
generic-release # Generic release files
generic-logos # Icons and pictures
generic-release-common # Generic release files
generic-release-notes # Release Notes
%end # End of the packages section
+82
View File
@@ -0,0 +1,82 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
#
# Provides the mandatory packages that are part of the core DNF group
# More information: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#id240
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies. Package description courtesy of the Fedora project
@core
## Mandatory packages found in hidden `core` group (`dnf group info --hidden core`)
# audit # User space tools for kernel auditing
# basesystem # The skeleton package which defines a simple Fedora system
# bash # The Bourne Again SHell, a command-line interpreter.
# coreutils # A set of basic GNU tools commonly used in shell scripts
# curl # A utility for getting files from remote servers (FTP, HTTP, and others)
# dhcp-client # Provides the ISC DHCP client daemon and dhclient-script
# dnf5 # Command-line package manager
# e2fsprogs # Utilities for managing ext2, ext3, and ext4 file systems
# filesystem # The basic directory layout for a Linux system
# glibc # The GNU libc libraries
# hostname # Utility to set/show the host name or domain name
# iproute # Advanced IP routing and network device configuration tools
# iputils # Network monitoring tools including ping
# kbd # Tools for configuring the console (keyboard, virtual terminals, etc.)
# kernel # The Linux kernel
# less # A text file browser similar to more, but better. Can be excluded
# man-db # Tools for searching and reading man pages. Can be excluded
# ncurses # Ncurses support utilities
# openssh-clients # An open source SSH client applications. Can be excluded
# openssh-server # An open source SSH server daemon. Can be excluded
# parted # The GNU disk partition manipulation program
# policycoreutils # SELinux policy core utilities. Can be excluded
# procps-ng # System and process monitoring utilities
# rootfiles # The basic required files for the root user's directory
# rpm # The RPM package management system
# selinux-policy-targeted # SELinux targeted policy. Can be excluded
# setup # A set of system configuration and setup files
# shadow-utils # Utilities for managing accounts and shadow password files
# sssd-common # Common files for the SSSD. Can be excluded
# sssd-kcm # An implementation of a Kerberos KCM server. Can be excluded
# sudo # Allows restricted root access for specified users
# systemd # System and Service Manager
# util-linux # Collection of basic system utilities
# vim-minimal # A minimal version of the VIM editor
## Default packages found in hidden `core` group (`dnf group info --hidden core`)
# NetworkManager # Network connection manager and user applications
# dnf5-plugins # Plugins for dnf5
# dracut-config-rescue # dracut configuration to turn on rescue image generation
# firewalld # A firewall daemon with D-Bus interface providing a dynamic firewall
# fwupd # Firmware update daemon
# plymouth # Graphical Boot Animation and Logger
# prefixdevname # Udev helper utility that provides network interface naming using user defined prefix
# systemd-resolved # Network Name Resolution manager
# zram-generator-defaults # Default configuration for zram-generator
## Optionnal packages found in hidden `core` group (`dnf group info --hidden core`)
## Not installed by default unless "@core --optional" is used
# dracut-config-generic
# initial-setup
# initscripts
# Packages to be used to create a Fedora Remix and comply Fedora Remix legal guidelines: https://fedoraproject.org/wiki/Remix
fedora-remix-logos # Fedora Remix logos
generic-release # Generic release files
generic-logos # Icons and pictures
generic-release-common # Generic release files
generic-release-notes # Release Notes
# Hand-picked packages
pciutils # PCI bus related utilities
libusb # Library for accessing USB devices
usbutils # Linux USB utilities
curl # transfer a URL
wget # An advanced file and recursive website downloader
nano # A small text editor
%end # End of the packages section