From 05d611276d6aad7228a5775a6977ff1fa58fc706 Mon Sep 17 00:00:00 2001 From: Lukas Greve Date: Thu, 26 Mar 2026 16:09:28 +0100 Subject: [PATCH] fix: Add _bare-metal suffix for False boolean modifiers to prevent filename collisions The manifest uses hyphenated keys (guest-agents, hardware-support) but the filename generation was looking for underscored keys, causing 16 variants to overwrite 4 files. Added _get_modifier() helper to normalize both key formats and added _bare-metal suffix for False values of guest_agents, ensuring unique filenames for all variant combinations. This restores the intended 24 distinct variants from the manifest and adds support for all modifiers (bootloader, initial-setup, desktop, security, storage, guest_agents, hardware_support). --- ....cfg => install_bare-metal_desktop_43.cfg} | 0 ...nstall_bare-metal_desktop_encrypted_43.cfg | 141 ++++++++++++ ...all_bare-metal_desktop_encrypted_hw_43.cfg | 141 ++++++++++++ ...re-metal_desktop_encrypted_hw_rawhide.cfg} | 5 + ..._bare-metal_desktop_encrypted_rawhide.cfg} | 5 + ...g => install_bare-metal_desktop_hw_43.cfg} | 0 ...install_bare-metal_desktop_hw_rawhide.cfg} | 5 +- ...=> install_bare-metal_desktop_rawhide.cfg} | 2 + ...ll_bare-metal_hypervisor_amdcpu_hw_43.cfg} | 4 + ..._bare-metal_hypervisor_intelcpu_hw_43.cfg} | 4 + dishes/install_desktop_encrypted_43.cfg | 3 + dishes/install_desktop_encrypted_rawhide.cfg | 5 + dishes/install_desktop_rawhide.cfg | 2 + .../install_hypervisor-desktop_amdcpu_43.cfg | 202 ++++++++++++++++++ ...install_hypervisor-desktop_intelcpu_43.cfg | 202 ++++++++++++++++++ dishes/install_hypervisor_amdcpu_43.cfg | 110 ++++++++++ dishes/install_hypervisor_intelcpu_43.cfg | 110 ++++++++++ dishes/install_server_43.cfg | 55 +++++ dishes/install_server_rawhide.cfg | 56 +++++ .../install_virtual_desktop_encrypted_43.cfg | 3 + ...nstall_virtual_desktop_encrypted_hw_43.cfg | 141 ++++++++++++ ...l_virtual_desktop_encrypted_hw_rawhide.cfg | 142 ++++++++++++ ...tall_virtual_desktop_encrypted_rawhide.cfg | 5 + ....cfg => install_virtual_desktop_hw_43.cfg} | 2 +- ...=> install_virtual_desktop_hw_rawhide.cfg} | 2 + dishes/install_virtual_desktop_rawhide.cfg | 2 + ...l_virtual_hypervisor-desktop_amdcpu_43.cfg | 4 + ...virtual_hypervisor-desktop_intelcpu_43.cfg | 4 + dishes/install_virtual_server_rawhide.cfg | 2 + ....cfg => live_bare-metal_desktop_hw_43.cfg} | 4 + ...3.cfg => live_bare-metal_server_hw_43.cfg} | 4 + dishes/live_desktop_43.cfg | 114 ++++++++++ dishes/live_server_43.cfg | 114 ++++++++++ .../__pycache__/cli.cpython-314.pyc | Bin 0 -> 16837 bytes .../__pycache__/manifest.cpython-314.pyc | Bin 0 -> 3923 bytes .../recipe_generator.cpython-314.pyc | Bin 0 -> 21897 bytes .../__pycache__/validators.cpython-314.pyc | Bin 0 -> 8861 bytes recipe-generator/recipe_generator.py | 44 +++- recipe-generator/recipes_manifest.yaml | 4 +- ....cfg => install_bare-metal_desktop_43.cfg} | 0 ...stall_bare-metal_desktop_encrypted_43.cfg} | 0 ...all_bare-metal_desktop_encrypted_hw_43.cfg | 25 +++ ...re-metal_desktop_encrypted_hw_rawhide.cfg} | 0 ...l_bare-metal_desktop_encrypted_rawhide.cfg | 26 +++ recipes/install_bare-metal_desktop_hw_43.cfg | 24 +++ ...install_bare-metal_desktop_hw_rawhide.cfg} | 0 .../install_bare-metal_desktop_rawhide.cfg | 25 +++ ...ll_bare-metal_hypervisor_amdcpu_hw_43.cfg} | 0 ..._bare-metal_hypervisor_intelcpu_hw_43.cfg} | 0 recipes/install_virtual_desktop_43.cfg | 24 +++ .../install_virtual_desktop_encrypted_43.cfg | 25 +++ ...nstall_virtual_desktop_encrypted_hw_43.cfg | 25 +++ ...l_virtual_desktop_encrypted_hw_rawhide.cfg | 26 +++ ...tall_virtual_desktop_encrypted_rawhide.cfg | 26 +++ recipes/install_virtual_desktop_hw_43.cfg | 24 +++ .../install_virtual_desktop_hw_rawhide.cfg | 25 +++ recipes/install_virtual_desktop_rawhide.cfg | 25 +++ ..._virtual_hypervisor-desktop_amdcpu_43.cfg} | 0 ...irtual_hypervisor-desktop_intelcpu_43.cfg} | 0 ...r_43.cfg => install_virtual_server_43.cfg} | 0 ...cfg => install_virtual_server_rawhide.cfg} | 0 ....cfg => live_bare-metal_desktop_hw_43.cfg} | 0 ...3.cfg => live_bare-metal_server_hw_43.cfg} | 0 ...ipe_generator.cpython-314-pytest-8.4.2.pyc | Bin 40201 -> 43050 bytes .../conftest.cpython-314-pytest-8.4.2.pyc | Bin 2458 -> 2403 bytes ...t_integration.cpython-314-pytest-8.4.2.pyc | Bin 14825 -> 14136 bytes 66 files changed, 1929 insertions(+), 14 deletions(-) rename dishes/{install_desktop_hardware-support_43.cfg => install_bare-metal_desktop_43.cfg} (100%) create mode 100644 dishes/install_bare-metal_desktop_encrypted_43.cfg create mode 100644 dishes/install_bare-metal_desktop_encrypted_hw_43.cfg rename dishes/{install_desktop_encrypted_hardware-support_rawhide.cfg => install_bare-metal_desktop_encrypted_hw_rawhide.cfg} (89%) rename dishes/{install_virtual_desktop_encrypted_hardware-support_rawhide.cfg => install_bare-metal_desktop_encrypted_rawhide.cfg} (89%) rename dishes/{install_virtual_desktop_hardware-support_43.cfg => install_bare-metal_desktop_hw_43.cfg} (100%) rename dishes/{install_virtual_desktop_encrypted_hardware-support_43.cfg => install_bare-metal_desktop_hw_rawhide.cfg} (94%) rename dishes/{install_virtual_desktop_hardware-support_rawhide.cfg => install_bare-metal_desktop_rawhide.cfg} (94%) rename dishes/{install_hypervisor_amdcpu_hardware-support_43.cfg => install_bare-metal_hypervisor_amdcpu_hw_43.cfg} (91%) rename dishes/{install_hypervisor_intelcpu_hardware-support_43.cfg => install_bare-metal_hypervisor_intelcpu_hw_43.cfg} (91%) create mode 100644 dishes/install_hypervisor-desktop_amdcpu_43.cfg create mode 100644 dishes/install_hypervisor-desktop_intelcpu_43.cfg create mode 100644 dishes/install_hypervisor_amdcpu_43.cfg create mode 100644 dishes/install_hypervisor_intelcpu_43.cfg create mode 100644 dishes/install_server_43.cfg create mode 100644 dishes/install_server_rawhide.cfg create mode 100644 dishes/install_virtual_desktop_encrypted_hw_43.cfg create mode 100644 dishes/install_virtual_desktop_encrypted_hw_rawhide.cfg rename dishes/{install_desktop_encrypted_hardware-support_43.cfg => install_virtual_desktop_hw_43.cfg} (97%) rename dishes/{install_desktop_hardware-support_rawhide.cfg => install_virtual_desktop_hw_rawhide.cfg} (94%) rename dishes/{live_desktop_hardware-support_43.cfg => live_bare-metal_desktop_hw_43.cfg} (91%) rename dishes/{live_server_hardware-support_43.cfg => live_bare-metal_server_hw_43.cfg} (91%) create mode 100644 dishes/live_desktop_43.cfg create mode 100644 dishes/live_server_43.cfg create mode 100644 recipe-generator/__pycache__/cli.cpython-314.pyc create mode 100644 recipe-generator/__pycache__/manifest.cpython-314.pyc create mode 100644 recipe-generator/__pycache__/recipe_generator.cpython-314.pyc create mode 100644 recipe-generator/__pycache__/validators.cpython-314.pyc rename recipes/{install_desktop_43.cfg => install_bare-metal_desktop_43.cfg} (100%) rename recipes/{install_desktop_encrypted_43.cfg => install_bare-metal_desktop_encrypted_43.cfg} (100%) create mode 100644 recipes/install_bare-metal_desktop_encrypted_hw_43.cfg rename recipes/{install_desktop_encrypted_rawhide.cfg => install_bare-metal_desktop_encrypted_hw_rawhide.cfg} (100%) create mode 100644 recipes/install_bare-metal_desktop_encrypted_rawhide.cfg create mode 100644 recipes/install_bare-metal_desktop_hw_43.cfg rename recipes/{install_desktop_rawhide.cfg => install_bare-metal_desktop_hw_rawhide.cfg} (100%) create mode 100644 recipes/install_bare-metal_desktop_rawhide.cfg rename recipes/{install_hypervisor_amdcpu_43.cfg => install_bare-metal_hypervisor_amdcpu_hw_43.cfg} (100%) rename recipes/{install_hypervisor_intelcpu_43.cfg => install_bare-metal_hypervisor_intelcpu_hw_43.cfg} (100%) create mode 100644 recipes/install_virtual_desktop_43.cfg create mode 100644 recipes/install_virtual_desktop_encrypted_43.cfg create mode 100644 recipes/install_virtual_desktop_encrypted_hw_43.cfg create mode 100644 recipes/install_virtual_desktop_encrypted_hw_rawhide.cfg create mode 100644 recipes/install_virtual_desktop_encrypted_rawhide.cfg create mode 100644 recipes/install_virtual_desktop_hw_43.cfg create mode 100644 recipes/install_virtual_desktop_hw_rawhide.cfg create mode 100644 recipes/install_virtual_desktop_rawhide.cfg rename recipes/{install_hypervisor-desktop_amdcpu_43.cfg => install_virtual_hypervisor-desktop_amdcpu_43.cfg} (100%) rename recipes/{install_hypervisor-desktop_intelcpu_43.cfg => install_virtual_hypervisor-desktop_intelcpu_43.cfg} (100%) rename recipes/{install_server_43.cfg => install_virtual_server_43.cfg} (100%) rename recipes/{install_server_rawhide.cfg => install_virtual_server_rawhide.cfg} (100%) rename recipes/{live_desktop_43.cfg => live_bare-metal_desktop_hw_43.cfg} (100%) rename recipes/{live_server_43.cfg => live_bare-metal_server_hw_43.cfg} (100%) diff --git a/dishes/install_desktop_hardware-support_43.cfg b/dishes/install_bare-metal_desktop_43.cfg similarity index 100% rename from dishes/install_desktop_hardware-support_43.cfg rename to dishes/install_bare-metal_desktop_43.cfg diff --git a/dishes/install_bare-metal_desktop_encrypted_43.cfg b/dishes/install_bare-metal_desktop_encrypted_43.cfg new file mode 100644 index 0000000..c1c880b --- /dev/null +++ b/dishes/install_bare-metal_desktop_encrypted_43.cfg @@ -0,0 +1,141 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +auditable-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-file=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-session-wayland-session +gnome-shell +gnome-terminal +gvfs-fuse +initial-setup +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +pipewire-alsa +pipewire-jack-audio-connection-kit +pipewire-pulseaudio +usbutils +wget + +%end diff --git a/dishes/install_bare-metal_desktop_encrypted_hw_43.cfg b/dishes/install_bare-metal_desktop_encrypted_hw_43.cfg new file mode 100644 index 0000000..c1c880b --- /dev/null +++ b/dishes/install_bare-metal_desktop_encrypted_hw_43.cfg @@ -0,0 +1,141 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +auditable-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-file=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-session-wayland-session +gnome-shell +gnome-terminal +gvfs-fuse +initial-setup +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +pipewire-alsa +pipewire-jack-audio-connection-kit +pipewire-pulseaudio +usbutils +wget + +%end diff --git a/dishes/install_desktop_encrypted_hardware-support_rawhide.cfg b/dishes/install_bare-metal_desktop_encrypted_hw_rawhide.cfg similarity index 89% rename from dishes/install_desktop_encrypted_hardware-support_rawhide.cfg rename to dishes/install_bare-metal_desktop_encrypted_hw_rawhide.cfg index ec040fa..e130533 100644 --- a/dishes/install_desktop_encrypted_hardware-support_rawhide.cfg +++ b/dishes/install_bare-metal_desktop_encrypted_hw_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock @@ -36,6 +38,9 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_virtual_desktop_encrypted_hardware-support_rawhide.cfg b/dishes/install_bare-metal_desktop_encrypted_rawhide.cfg similarity index 89% rename from dishes/install_virtual_desktop_encrypted_hardware-support_rawhide.cfg rename to dishes/install_bare-metal_desktop_encrypted_rawhide.cfg index ec040fa..e130533 100644 --- a/dishes/install_virtual_desktop_encrypted_hardware-support_rawhide.cfg +++ b/dishes/install_bare-metal_desktop_encrypted_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock @@ -36,6 +38,9 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_virtual_desktop_hardware-support_43.cfg b/dishes/install_bare-metal_desktop_hw_43.cfg similarity index 100% rename from dishes/install_virtual_desktop_hardware-support_43.cfg rename to dishes/install_bare-metal_desktop_hw_43.cfg diff --git a/dishes/install_virtual_desktop_encrypted_hardware-support_43.cfg b/dishes/install_bare-metal_desktop_hw_rawhide.cfg similarity index 94% rename from dishes/install_virtual_desktop_encrypted_hardware-support_43.cfg rename to dishes/install_bare-metal_desktop_hw_rawhide.cfg index 43d4c36..43cb536 100644 --- a/dishes/install_virtual_desktop_encrypted_hardware-support_43.cfg +++ b/dishes/install_bare-metal_desktop_hw_rawhide.cfg @@ -16,6 +16,7 @@ network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate shutdown repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock # SELinux configuration @@ -25,7 +26,7 @@ services --enabled="NetworkManager,systemd-resolved" # System timezone timezone Europe/Zurich --utc # Use network installation -url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" # X Window System configuration information xconfig --defaultdesktop=GNOME --startxonboot # System bootloader configuration @@ -37,7 +38,7 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" -part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_virtual_desktop_hardware-support_rawhide.cfg b/dishes/install_bare-metal_desktop_rawhide.cfg similarity index 94% rename from dishes/install_virtual_desktop_hardware-support_rawhide.cfg rename to dishes/install_bare-metal_desktop_rawhide.cfg index a1967d1..43cb536 100644 --- a/dishes/install_virtual_desktop_hardware-support_rawhide.cfg +++ b/dishes/install_bare-metal_desktop_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock diff --git a/dishes/install_hypervisor_amdcpu_hardware-support_43.cfg b/dishes/install_bare-metal_hypervisor_amdcpu_hw_43.cfg similarity index 91% rename from dishes/install_hypervisor_amdcpu_hardware-support_43.cfg rename to dishes/install_bare-metal_hypervisor_amdcpu_hw_43.cfg index fc9a62c..8998c5d 100644 --- a/dishes/install_hypervisor_amdcpu_hardware-support_43.cfg +++ b/dishes/install_bare-metal_hypervisor_amdcpu_hw_43.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 #Root password rootpw --lock # SELinux configuration @@ -22,6 +24,8 @@ selinux --enforcing services --enabled="NetworkManager,systemd-resolved,libvirtd" # System timezone timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" # System bootloader configuration bootloader --location=mbr --timeout=1 # Clear the Master Boot Record diff --git a/dishes/install_hypervisor_intelcpu_hardware-support_43.cfg b/dishes/install_bare-metal_hypervisor_intelcpu_hw_43.cfg similarity index 91% rename from dishes/install_hypervisor_intelcpu_hardware-support_43.cfg rename to dishes/install_bare-metal_hypervisor_intelcpu_hw_43.cfg index 3532a41..c1a63ec 100644 --- a/dishes/install_hypervisor_intelcpu_hardware-support_43.cfg +++ b/dishes/install_bare-metal_hypervisor_intelcpu_hw_43.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 #Root password rootpw --lock # SELinux configuration @@ -22,6 +24,8 @@ selinux --enforcing services --enabled="NetworkManager,systemd-resolved,libvirtd" # System timezone timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" # System bootloader configuration bootloader --location=mbr --timeout=1 # Clear the Master Boot Record diff --git a/dishes/install_desktop_encrypted_43.cfg b/dishes/install_desktop_encrypted_43.cfg index 43d4c36..c1c880b 100644 --- a/dishes/install_desktop_encrypted_43.cfg +++ b/dishes/install_desktop_encrypted_43.cfg @@ -37,6 +37,9 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_desktop_encrypted_rawhide.cfg b/dishes/install_desktop_encrypted_rawhide.cfg index ec040fa..e130533 100644 --- a/dishes/install_desktop_encrypted_rawhide.cfg +++ b/dishes/install_desktop_encrypted_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock @@ -36,6 +38,9 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_desktop_rawhide.cfg b/dishes/install_desktop_rawhide.cfg index a1967d1..43cb536 100644 --- a/dishes/install_desktop_rawhide.cfg +++ b/dishes/install_desktop_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock diff --git a/dishes/install_hypervisor-desktop_amdcpu_43.cfg b/dishes/install_hypervisor-desktop_amdcpu_43.cfg new file mode 100644 index 0000000..63f2b98 --- /dev/null +++ b/dishes/install_hypervisor-desktop_amdcpu_43.cfg @@ -0,0 +1,202 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +auditable-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-file=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/vmm-post-scripts.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +[org.virt-manager.virt-manager.details] +show-toolbar=false + +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/hypervisor-amdcpu-post.log + +sed -i 's/\(quiet\)/\1 iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_amd nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-session-wayland-session +gnome-shell +gnome-terminal +gvfs-fuse +initial-setup +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +pipewire-alsa +pipewire-jack-audio-connection-kit +pipewire-pulseaudio +usbutils +virt-manager +wget + +%end diff --git a/dishes/install_hypervisor-desktop_intelcpu_43.cfg b/dishes/install_hypervisor-desktop_intelcpu_43.cfg new file mode 100644 index 0000000..8330ee5 --- /dev/null +++ b/dishes/install_hypervisor-desktop_intelcpu_43.cfg @@ -0,0 +1,202 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +auditable-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-file=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/vmm-post-scripts.log + +# Create a file to autostart virt-manager +cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF +[Desktop Entry] +Type=Application +Name=Virtual Machine Manager +Exec=virt-manager +EOF + +# Modify the default virt-manager behavior for misc. options +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF + +[org.virt-manager.virt-manager] +xmleditor-enabled=true +manager-window-height=600 +manager-window-width=200 + +[org.virt-manager.virt-manager.connections] +uris=['qemu:///system', 'qemu:///session'] +autoconnect=['qemu:///session'] + +[org.virt-manager.virt-manager.vmlist-fields] +cpu-usage=false + +[org.virt-manager.virt-manager.stats] +update-interval=3 +enable-disk-poll=true +enable-memory-poll=true +enable-net-poll=true + +[org.virt-manager.virt-manager.console] +scaling=2 +resize-guest=1 +autoconnect=false + +[org.virt-manager.virt-manager.details] +show-toolbar=false + +[org.virt-manager.virt-manager.new-vm] +storage-format='raw' +cpu-default='host-model' +graphics-type='spice' + +[org.virt-manager.virt-manager.confirm] +forcepoweroff=false +removedev=false +unapplied-dev=false + +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/hypervisor-intelcpu-post.log + +sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization on Intel CPUs + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-session-wayland-session +gnome-shell +gnome-terminal +gvfs-fuse +initial-setup +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +pipewire-alsa +pipewire-jack-audio-connection-kit +pipewire-pulseaudio +usbutils +virt-manager +wget + +%end diff --git a/dishes/install_hypervisor_amdcpu_43.cfg b/dishes/install_hypervisor_amdcpu_43.cfg new file mode 100644 index 0000000..8998c5d --- /dev/null +++ b/dishes/install_hypervisor_amdcpu_43.cfg @@ -0,0 +1,110 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/hypervisor-base-post.log + +# Load kernel modules by adding vfio, vfio_pci, vfio_iommu_type1, vfio_virqfd +echo "vfio" > /mnt/sysimage/etc/modules-load.d/vfio.conf +echo "vfio-pci" > /mnt/sysimage/etc/modules-load.d/vfio-pci.conf +echo "vfio_iommu_type1" > /mnt/sysimage/etc/modules-load.d/vfio_iommu_type1.conf +echo "vfio_virqfd" > /mnt/sysimage/etc/modules-load.d/vfio_virqfd.conf + +mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# fetch custom script and make it executable +# wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/virtualization-tweaks-root-needed.sh -P /mnt/sysimage/usr/local/bin/ +# chmod +x /mnt/sysimage/usr/local/bin/virtualization-tweaks-root-needed.sh + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/hypervisor-amdcpu-post.log + +sed -i 's/\(quiet\)/\1 iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_amd nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization + +%end + +%packages --exclude-weakdeps +@core +curl +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +initial-setup +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +nano +pciutils +qemu-kvm +usbutils +virt-install +wget + +%end diff --git a/dishes/install_hypervisor_intelcpu_43.cfg b/dishes/install_hypervisor_intelcpu_43.cfg new file mode 100644 index 0000000..c1a63ec --- /dev/null +++ b/dishes/install_hypervisor_intelcpu_43.cfg @@ -0,0 +1,110 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved,libvirtd" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/hypervisor-base-post.log + +# Load kernel modules by adding vfio, vfio_pci, vfio_iommu_type1, vfio_virqfd +echo "vfio" > /mnt/sysimage/etc/modules-load.d/vfio.conf +echo "vfio-pci" > /mnt/sysimage/etc/modules-load.d/vfio-pci.conf +echo "vfio_iommu_type1" > /mnt/sysimage/etc/modules-load.d/vfio_iommu_type1.conf +echo "vfio_virqfd" > /mnt/sysimage/etc/modules-load.d/vfio_virqfd.conf + +mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso images. SELinux is already taking this one into account. + +# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/isos/ # fetch netboot.xyz iso and store it to the newly created iso directory + +# # virsh commands fail in a kickstart environment (chroot or not it seems). would need to fetch a script and execute post-launch with a delay, for example using a systemd unit +# virsh pool-define-as isos dir - - - - /mnt/sysimage/var/lib/libvirt/isos/ # Make libvirt aware of this new directory by creating a so-called 'pool'. +# virsh pool-build isos # Build the pool +# virsh pool-start isos # Start it +# virsh pool-autostart isos # Set-it to autostart + +# fetch custom script and make it executable +# wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/virtualization-tweaks-root-needed.sh -P /mnt/sysimage/usr/local/bin/ +# chmod +x /mnt/sysimage/usr/local/bin/virtualization-tweaks-root-needed.sh + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/linux.xml +# virsh define linux.xml + +# wget https://raw.githubusercontent.com/PhyllomeOS/xml-definition-for-domains/main/xml/system/windows.xml +# virsh define windows.xml + +%end + +%post --nochroot --logfile=/mnt/sysimage/root/hypervisor-intelcpu-post.log + +sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB. + +echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested virtualization on Intel CPUs + +%end + +%packages --exclude-weakdeps +@core +curl +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +initial-setup +libusb +libvirt +libvirt-client +libvirt-client-qemu +libvirt-daemon +libvirt-daemon-common +libvirt-daemon-config-network +libvirt-daemon-driver-ch +libvirt-daemon-driver-interface +libvirt-daemon-driver-network +libvirt-daemon-driver-qemu +libvirt-daemon-kvm +libvirt-daemon-log +libvirt-daemon-qemu +libvirt-dbus +libvirt-nss +nano +pciutils +qemu-kvm +usbutils +virt-install +wget + +%end diff --git a/dishes/install_server_43.cfg b/dishes/install_server_43.cfg new file mode 100644 index 0000000..32dc1f0 --- /dev/null +++ b/dishes/install_server_43.cfg @@ -0,0 +1,55 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" + +%packages --exclude-weakdeps +@core +curl +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +initial-setup +libusb +nano +pciutils +usbutils +wget + +%end diff --git a/dishes/install_server_rawhide.cfg b/dishes/install_server_rawhide.cfg new file mode 100644 index 0000000..5476d95 --- /dev/null +++ b/dishes/install_server_rawhide.cfg @@ -0,0 +1,56 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" + +%packages --exclude-weakdeps +@core +curl +fedora-remix-logos +generic-logos +generic-release +generic-release-common +generic-release-notes +initial-setup +libusb +nano +pciutils +usbutils +wget + +%end diff --git a/dishes/install_virtual_desktop_encrypted_43.cfg b/dishes/install_virtual_desktop_encrypted_43.cfg index 43d4c36..c1c880b 100644 --- a/dishes/install_virtual_desktop_encrypted_43.cfg +++ b/dishes/install_virtual_desktop_encrypted_43.cfg @@ -37,6 +37,9 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_virtual_desktop_encrypted_hw_43.cfg b/dishes/install_virtual_desktop_encrypted_hw_43.cfg new file mode 100644 index 0000000..c1c880b --- /dev/null +++ b/dishes/install_virtual_desktop_encrypted_hw_43.cfg @@ -0,0 +1,141 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +auditable-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-file=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-session-wayland-session +gnome-shell +gnome-terminal +gvfs-fuse +initial-setup +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +pipewire-alsa +pipewire-jack-audio-connection-kit +pipewire-pulseaudio +usbutils +wget + +%end diff --git a/dishes/install_virtual_desktop_encrypted_hw_rawhide.cfg b/dishes/install_virtual_desktop_encrypted_hw_rawhide.cfg new file mode 100644 index 0000000..e130533 --- /dev/null +++ b/dishes/install_virtual_desktop_encrypted_hw_rawhide.cfg @@ -0,0 +1,142 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Use text mode install +text +# Firewall configuration +firewall --enabled +# Run the Setup Agent on first boot +firstboot --reconfig +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64" +# X Window System configuration information +xconfig --defaultdesktop=GNOME --startxonboot +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" + +%post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF +[org.gnome.desktop.media-handling] +automount-open=false +autorun-never=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF +[org.gnome.Terminal.Legacy.Profile] +font='DejaVu Sans Mono 12' +use-system-font=false +auditable-bell=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF +[org.gnome.desktop.wm.preferences] +button-layout=':minimize,maximize,close' +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF +[org.gnome.desktop.a11y] +always-show-universal-access-status=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF +[org.gnome.desktop.interface] +enable-animations=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF +[org.gnome.desktop.privacy] +remove-old-temp-files=true +remember-recent-file=false +remember-app-usage=false +disable-camera=true +disable-microphone=true +disable-sound-output=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF +[org.gnome.desktop.search-providers] +disable-external=true +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF +[org.gnome.desktop.notifications.application] +enable-sound-alerts=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF +[org.gnome.desktop.sound] +event-sounds=false +EOF + +cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF +[org.gnome.desktop.thumbnailers] +disable-all=true +EOF + +glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/ + +%end + +%packages --exclude-weakdeps +@base-graphical +@core +bash-color-prompt +curl +dconf +dejavu-sans-mono-fonts +fedora-remix-logos +firefox +gdm +generic-logos +generic-release +generic-release-common +generic-release-notes +gnome-backgrounds.noarch +gnome-control-center +gnome-session-wayland-session +gnome-shell +gnome-terminal +gvfs-fuse +initial-setup +libusb +mozilla-ublock-origin.noarch +nano +nautilus +pciutils +pipewire-alsa +pipewire-jack-audio-connection-kit +pipewire-pulseaudio +usbutils +wget + +%end diff --git a/dishes/install_virtual_desktop_encrypted_rawhide.cfg b/dishes/install_virtual_desktop_encrypted_rawhide.cfg index ec040fa..e130533 100644 --- a/dishes/install_virtual_desktop_encrypted_rawhide.cfg +++ b/dishes/install_virtual_desktop_encrypted_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock @@ -36,6 +38,9 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" +part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" +part /boot --fstype="ext4" --size=2048 --label="boot" part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_desktop_encrypted_hardware-support_43.cfg b/dishes/install_virtual_desktop_hw_43.cfg similarity index 97% rename from dishes/install_desktop_encrypted_hardware-support_43.cfg rename to dishes/install_virtual_desktop_hw_43.cfg index 43d4c36..dbec6c6 100644 --- a/dishes/install_desktop_encrypted_hardware-support_43.cfg +++ b/dishes/install_virtual_desktop_hw_43.cfg @@ -37,7 +37,7 @@ clearpart --all --initlabel # Disk partitioning information part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt" --label="efi" part /boot --fstype="ext4" --size=2048 --label="boot" -part / --fstype="ext4" --grow --label="root" --encrypted --mkfsoptions="-O encrypt,fast_commit" +part / --fstype="ext4" --grow --label="root" --mkfsoptions="-O encrypt,fast_commit" %post --nochroot --logfile=/mnt/sysimage/root/gnome-desktop-post.log diff --git a/dishes/install_desktop_hardware-support_rawhide.cfg b/dishes/install_virtual_desktop_hw_rawhide.cfg similarity index 94% rename from dishes/install_desktop_hardware-support_rawhide.cfg rename to dishes/install_virtual_desktop_hw_rawhide.cfg index a1967d1..43cb536 100644 --- a/dishes/install_desktop_hardware-support_rawhide.cfg +++ b/dishes/install_virtual_desktop_hw_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock diff --git a/dishes/install_virtual_desktop_rawhide.cfg b/dishes/install_virtual_desktop_rawhide.cfg index a1967d1..43cb536 100644 --- a/dishes/install_virtual_desktop_rawhide.cfg +++ b/dishes/install_virtual_desktop_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock diff --git a/dishes/install_virtual_hypervisor-desktop_amdcpu_43.cfg b/dishes/install_virtual_hypervisor-desktop_amdcpu_43.cfg index a45de62..63f2b98 100644 --- a/dishes/install_virtual_hypervisor-desktop_amdcpu_43.cfg +++ b/dishes/install_virtual_hypervisor-desktop_amdcpu_43.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 #Root password rootpw --lock # SELinux configuration @@ -22,6 +24,8 @@ selinux --enforcing services --enabled="NetworkManager,systemd-resolved" # System timezone timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" # X Window System configuration information xconfig --defaultdesktop=GNOME --startxonboot # System bootloader configuration diff --git a/dishes/install_virtual_hypervisor-desktop_intelcpu_43.cfg b/dishes/install_virtual_hypervisor-desktop_intelcpu_43.cfg index 71af38b..8330ee5 100644 --- a/dishes/install_virtual_hypervisor-desktop_intelcpu_43.cfg +++ b/dishes/install_virtual_hypervisor-desktop_intelcpu_43.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 #Root password rootpw --lock # SELinux configuration @@ -22,6 +24,8 @@ selinux --enforcing services --enabled="NetworkManager,systemd-resolved" # System timezone timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" # X Window System configuration information xconfig --defaultdesktop=GNOME --startxonboot # System bootloader configuration diff --git a/dishes/install_virtual_server_rawhide.cfg b/dishes/install_virtual_server_rawhide.cfg index b715ec1..5476d95 100644 --- a/dishes/install_virtual_server_rawhide.cfg +++ b/dishes/install_virtual_server_rawhide.cfg @@ -14,6 +14,8 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 #Root password rootpw --lock diff --git a/dishes/live_desktop_hardware-support_43.cfg b/dishes/live_bare-metal_desktop_hw_43.cfg similarity index 91% rename from dishes/live_desktop_hardware-support_43.cfg rename to dishes/live_bare-metal_desktop_hw_43.cfg index c65f013..5f6dae3 100644 --- a/dishes/live_desktop_hardware-support_43.cfg +++ b/dishes/live_bare-metal_desktop_hw_43.cfg @@ -8,12 +8,16 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rpmfusion-nonfree" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" repo --name="rpmfusion-nonfree-updates" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" # System services services --enabled="NetworkManager,systemd-resolved" # System timezone timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" # System bootloader configuration bootloader --location=mbr --timeout=1 # Clear the Master Boot Record diff --git a/dishes/live_server_hardware-support_43.cfg b/dishes/live_bare-metal_server_hw_43.cfg similarity index 91% rename from dishes/live_server_hardware-support_43.cfg rename to dishes/live_bare-metal_server_hw_43.cfg index c65f013..5f6dae3 100644 --- a/dishes/live_server_hardware-support_43.cfg +++ b/dishes/live_bare-metal_server_hw_43.cfg @@ -8,12 +8,16 @@ lang en_US.UTF-8 network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate # Shutdown after installation shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 repo --name="rpmfusion-nonfree" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" repo --name="rpmfusion-nonfree-updates" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" # System services services --enabled="NetworkManager,systemd-resolved" # System timezone timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" # System bootloader configuration bootloader --location=mbr --timeout=1 # Clear the Master Boot Record diff --git a/dishes/live_desktop_43.cfg b/dishes/live_desktop_43.cfg new file mode 100644 index 0000000..5f6dae3 --- /dev/null +++ b/dishes/live_desktop_43.cfg @@ -0,0 +1,114 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +repo --name="rpmfusion-nonfree" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" +repo --name="rpmfusion-nonfree-updates" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part / --fstype="ext4" --size=5120 +part / --size=8576 + +%post --logfile=/mnt/sysimage/root/live-core-post.log + +# Enable livesys services +systemctl enable livesys.service +systemctl enable livesys-late.service + +# enable tmpfs for /tmp +systemctl enable tmp.mount + +# make it so that we don't do writing to the overlay for things which +# are just tmpdirs/caches +# note https://bugzilla.redhat.com/show_bug.cgi?id=1135475 +cat >> /etc/fstab << EOF +vartmp /var/tmp tmpfs defaults 0 0 +EOF + +# work around for poor key import UI in PackageKit +rm -f /var/lib/rpm/__db* +echo "Packages within this LiveCD" +rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn +# Note that running rpm recreates the rpm db files which aren't needed or wanted +rm -f /var/lib/rpm/__db* + +# go ahead and pre-make the man -k cache (#455968) +/usr/bin/mandb + +# make sure there aren't core files lying around +rm -f /core* + +# remove random seed, the newly installed instance should make it's own +rm -f /var/lib/systemd/random-seed + +# convince readahead not to collect +# FIXME: for systemd + +echo 'File created by kickstart. See systemd-update-done.service(8).' \ + | tee /etc/.updated >/var/.updated + +# Drop the rescue kernel and initramfs, we don't need them on the live media itself. +# See bug 1317709 +rm -f /boot/*-rescue* + +# Disable network service here, as doing it in the services line +# fails due to RHBZ #1369794 +systemctl disable network + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post --logfile=/mnt/sysimage/root/post-live-session.log + +# set livesys session type +sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys + +%end + +%post + +# Import RPM Fusion PGP Key. Courtesy of https://github.com/rpmfusion/rpmfusion-nonfree-remix-kickstarts/blob/master/rpmfusion-nonfree-live-base.ks +echo "== RPM Fusion Nonfree: Base section ==" +echo "Importing RPM Fusion keys" +rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-*-primary +echo "List of packages from RPM Fusion Nonfree:" +rpm -qa --qf '%{NAME} %{SIGGPG:pgpsig} %{SIGPGP:pgpsig} \n' | grep -e 3DE8C682E38EE9BC0FDFEA47FCAE2EA87F858107 | awk ' { print $1 } ' | sort +echo "List of incuded RPM Fusion packages with their size:" +rpm -q --qf '%{SIZE} %{NAME}\n' $(rpm -qa --qf '%{NAME} %{SIGGPG:pgpsig} %{SIGPGP:pgpsig} \n' | grep -e 3DE8C682E38EE9BC0FDFEA47FCAE2EA87F858107 | awk ' { print $1 } ') | sort -n +echo + +%end + +%packages +@anaconda-tools +aajohan-comfortaa-fonts +dracut-live +glibc-all-langpacks +kernel +kernel-modules +kernel-modules-extra +livesys-scripts + +%end diff --git a/dishes/live_server_43.cfg b/dishes/live_server_43.cfg new file mode 100644 index 0000000..5f6dae3 --- /dev/null +++ b/dishes/live_server_43.cfg @@ -0,0 +1,114 @@ +# Generated by pykickstart v3.69 +#version=DEVEL +# Keyboard layouts +keyboard --xlayouts='ch (fr)' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate +# Shutdown after installation +shutdown +repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 +repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 +repo --name="rpmfusion-nonfree" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" +repo --name="rpmfusion-nonfree-updates" --mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch --includepkgs="rpmfusion-nonfree-release" +# System services +services --enabled="NetworkManager,systemd-resolved" +# System timezone +timezone Europe/Zurich --utc +# Use network installation +url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64" +# System bootloader configuration +bootloader --location=mbr --timeout=1 +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part / --fstype="ext4" --size=5120 +part / --size=8576 + +%post --logfile=/mnt/sysimage/root/live-core-post.log + +# Enable livesys services +systemctl enable livesys.service +systemctl enable livesys-late.service + +# enable tmpfs for /tmp +systemctl enable tmp.mount + +# make it so that we don't do writing to the overlay for things which +# are just tmpdirs/caches +# note https://bugzilla.redhat.com/show_bug.cgi?id=1135475 +cat >> /etc/fstab << EOF +vartmp /var/tmp tmpfs defaults 0 0 +EOF + +# work around for poor key import UI in PackageKit +rm -f /var/lib/rpm/__db* +echo "Packages within this LiveCD" +rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn +# Note that running rpm recreates the rpm db files which aren't needed or wanted +rm -f /var/lib/rpm/__db* + +# go ahead and pre-make the man -k cache (#455968) +/usr/bin/mandb + +# make sure there aren't core files lying around +rm -f /core* + +# remove random seed, the newly installed instance should make it's own +rm -f /var/lib/systemd/random-seed + +# convince readahead not to collect +# FIXME: for systemd + +echo 'File created by kickstart. See systemd-update-done.service(8).' \ + | tee /etc/.updated >/var/.updated + +# Drop the rescue kernel and initramfs, we don't need them on the live media itself. +# See bug 1317709 +rm -f /boot/*-rescue* + +# Disable network service here, as doing it in the services line +# fails due to RHBZ #1369794 +systemctl disable network + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post --logfile=/mnt/sysimage/root/post-live-session.log + +# set livesys session type +sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys + +%end + +%post + +# Import RPM Fusion PGP Key. Courtesy of https://github.com/rpmfusion/rpmfusion-nonfree-remix-kickstarts/blob/master/rpmfusion-nonfree-live-base.ks +echo "== RPM Fusion Nonfree: Base section ==" +echo "Importing RPM Fusion keys" +rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-*-primary +echo "List of packages from RPM Fusion Nonfree:" +rpm -qa --qf '%{NAME} %{SIGGPG:pgpsig} %{SIGPGP:pgpsig} \n' | grep -e 3DE8C682E38EE9BC0FDFEA47FCAE2EA87F858107 | awk ' { print $1 } ' | sort +echo "List of incuded RPM Fusion packages with their size:" +rpm -q --qf '%{SIZE} %{NAME}\n' $(rpm -qa --qf '%{NAME} %{SIGGPG:pgpsig} %{SIGPGP:pgpsig} \n' | grep -e 3DE8C682E38EE9BC0FDFEA47FCAE2EA87F858107 | awk ' { print $1 } ') | sort -n +echo + +%end + +%packages +@anaconda-tools +aajohan-comfortaa-fonts +dracut-live +glibc-all-langpacks +kernel +kernel-modules +kernel-modules-extra +livesys-scripts + +%end diff --git a/recipe-generator/__pycache__/cli.cpython-314.pyc b/recipe-generator/__pycache__/cli.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34a49ef4c28d447e62c9a60e79302082c67a7ba3 GIT binary patch literal 16837 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 literal 0 HcmV?d00001 diff --git a/recipe-generator/__pycache__/manifest.cpython-314.pyc b/recipe-generator/__pycache__/manifest.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..434ec17b0235fd5792f62e2e89b35059646ce62e GIT binary patch literal 3923 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 TlZ5H%p0NVi;l~6DG2Z+?IRE#r literal 0 HcmV?d00001 diff --git a/recipe-generator/__pycache__/validators.cpython-314.pyc b/recipe-generator/__pycache__/validators.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b881d6cdd5ae1ebe5b069129059b0c53fa8d5057 GIT binary patch literal 8861 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 L3{qh0$iDv literal 0 HcmV?d00001 diff --git a/recipe-generator/recipe_generator.py b/recipe-generator/recipe_generator.py index 1e65ec7..9ba4f2a 100644 --- a/recipe-generator/recipe_generator.py +++ b/recipe-generator/recipe_generator.py @@ -269,6 +269,15 @@ class RecipeGenerator: return includes + def _get_modifier(self, modifiers: dict, key: str, default=None): + """Get modifier value, checking both hyphenated and underscored versions.""" + if key in modifiers: + return modifiers[key] + alt_key = key.replace('_', '-') + if alt_key in modifiers: + return modifiers[alt_key] + return default + def generate_filename(self, recipe_type: str, version: str, **modifiers) -> str: """Generate recipe filename from parameters.""" @@ -280,9 +289,12 @@ class RecipeGenerator: # Build base parts parts = [recipe_type.replace('_', '-')] - # Add guest_agents suffix - if modifiers.get('guest_agents') is True: + # Add guest_agents suffix (for both True and False) + guest_agents = self._get_modifier(modifiers, 'guest_agents') + if guest_agents is True: parts.append('virtual') + elif guest_agents is False: + parts.append('bare-metal') # Add variant_subname for install variants if variant_subname and variant_subname in ['desktop', 'server', 'hypervisor', 'hypervisor-desktop']: @@ -299,20 +311,34 @@ class RecipeGenerator: parts.append(ht) # Add desktop (non-GNOME only, since GNOME is default) - if modifiers.get('desktop') and modifiers['desktop'] != 'gnome': - parts.append(modifiers['desktop']) + desktop = self._get_modifier(modifiers, 'desktop') + if desktop and desktop != 'gnome': + parts.append(desktop) # Add security suffix (devel only, since secure is default) - if modifiers.get('security') == 'off': + security = self._get_modifier(modifiers, 'security') + if security == 'off': parts.append('devel') # Add storage suffix (encrypted only, since standard is default) - if modifiers.get('storage') == 'encrypted': + storage = self._get_modifier(modifiers, 'storage') + if storage == 'encrypted': parts.append('encrypted') - # Add hardware_support suffix - if modifiers.get('hardware_support') is True: - parts.append('hardware-support') + # Add hardware_support suffix (for True only) + hardware_support = self._get_modifier(modifiers, 'hardware_support') + if hardware_support is True: + parts.append('hw') + + # Add initial_setup suffix (non-server values) + initial_setup = self._get_modifier(modifiers, 'initial_setup') + if initial_setup and initial_setup != 'server': + parts.append(f'{initial_setup}-setup') + + # Add bootloader suffix (systemd-boot only) + bootloader = self._get_modifier(modifiers, 'bootloader') + if bootloader == 'systemd-boot': + parts.append('systemd-boot') # Add version parts.append(str(version)) diff --git a/recipe-generator/recipes_manifest.yaml b/recipe-generator/recipes_manifest.yaml index 5117038..944f4c7 100644 --- a/recipe-generator/recipes_manifest.yaml +++ b/recipe-generator/recipes_manifest.yaml @@ -11,8 +11,8 @@ # Example: version: ["43", "rawhide"] + storage: ["standard", "encrypted"] # creates 4 variants: (43,standard), (43,encrypted), (rawhide,standard), (rawhide,encrypted) # -# NOTE: Boolean modifiers (guest-agents, hardware-support) only affect filename when True. -# Multiple variants with False values will produce the same filename (last one wins). +# NOTE: Boolean modifiers now generate unique filenames regardless of value (True/False). +# Each variant combination produces a distinct filename with appropriate suffixes. recipes: # Install variants - desktop diff --git a/recipes/install_desktop_43.cfg b/recipes/install_bare-metal_desktop_43.cfg similarity index 100% rename from recipes/install_desktop_43.cfg rename to recipes/install_bare-metal_desktop_43.cfg diff --git a/recipes/install_desktop_encrypted_43.cfg b/recipes/install_bare-metal_desktop_encrypted_43.cfg similarity index 100% rename from recipes/install_desktop_encrypted_43.cfg rename to recipes/install_bare-metal_desktop_encrypted_43.cfg diff --git a/recipes/install_bare-metal_desktop_encrypted_hw_43.cfg b/recipes/install_bare-metal_desktop_encrypted_hw_43.cfg new file mode 100644 index 0000000..29f98bf --- /dev/null +++ b/recipes/install_bare-metal_desktop_encrypted_hw_43.cfg @@ -0,0 +1,25 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/storage/encrypted.ks \ No newline at end of file diff --git a/recipes/install_desktop_encrypted_rawhide.cfg b/recipes/install_bare-metal_desktop_encrypted_hw_rawhide.cfg similarity index 100% rename from recipes/install_desktop_encrypted_rawhide.cfg rename to recipes/install_bare-metal_desktop_encrypted_hw_rawhide.cfg diff --git a/recipes/install_bare-metal_desktop_encrypted_rawhide.cfg b/recipes/install_bare-metal_desktop_encrypted_rawhide.cfg new file mode 100644 index 0000000..e313823 --- /dev/null +++ b/recipes/install_bare-metal_desktop_encrypted_rawhide.cfg @@ -0,0 +1,26 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/storage/encrypted.ks +%include fragments/repo/rawhide-mirrors.ks \ No newline at end of file diff --git a/recipes/install_bare-metal_desktop_hw_43.cfg b/recipes/install_bare-metal_desktop_hw_43.cfg new file mode 100644 index 0000000..1e44812 --- /dev/null +++ b/recipes/install_bare-metal_desktop_hw_43.cfg @@ -0,0 +1,24 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks \ No newline at end of file diff --git a/recipes/install_desktop_rawhide.cfg b/recipes/install_bare-metal_desktop_hw_rawhide.cfg similarity index 100% rename from recipes/install_desktop_rawhide.cfg rename to recipes/install_bare-metal_desktop_hw_rawhide.cfg diff --git a/recipes/install_bare-metal_desktop_rawhide.cfg b/recipes/install_bare-metal_desktop_rawhide.cfg new file mode 100644 index 0000000..93e95de --- /dev/null +++ b/recipes/install_bare-metal_desktop_rawhide.cfg @@ -0,0 +1,25 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/repo/rawhide-mirrors.ks \ No newline at end of file diff --git a/recipes/install_hypervisor_amdcpu_43.cfg b/recipes/install_bare-metal_hypervisor_amdcpu_hw_43.cfg similarity index 100% rename from recipes/install_hypervisor_amdcpu_43.cfg rename to recipes/install_bare-metal_hypervisor_amdcpu_hw_43.cfg diff --git a/recipes/install_hypervisor_intelcpu_43.cfg b/recipes/install_bare-metal_hypervisor_intelcpu_hw_43.cfg similarity index 100% rename from recipes/install_hypervisor_intelcpu_43.cfg rename to recipes/install_bare-metal_hypervisor_intelcpu_hw_43.cfg diff --git a/recipes/install_virtual_desktop_43.cfg b/recipes/install_virtual_desktop_43.cfg new file mode 100644 index 0000000..1e44812 --- /dev/null +++ b/recipes/install_virtual_desktop_43.cfg @@ -0,0 +1,24 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_encrypted_43.cfg b/recipes/install_virtual_desktop_encrypted_43.cfg new file mode 100644 index 0000000..29f98bf --- /dev/null +++ b/recipes/install_virtual_desktop_encrypted_43.cfg @@ -0,0 +1,25 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/storage/encrypted.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_encrypted_hw_43.cfg b/recipes/install_virtual_desktop_encrypted_hw_43.cfg new file mode 100644 index 0000000..29f98bf --- /dev/null +++ b/recipes/install_virtual_desktop_encrypted_hw_43.cfg @@ -0,0 +1,25 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/storage/encrypted.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_encrypted_hw_rawhide.cfg b/recipes/install_virtual_desktop_encrypted_hw_rawhide.cfg new file mode 100644 index 0000000..e313823 --- /dev/null +++ b/recipes/install_virtual_desktop_encrypted_hw_rawhide.cfg @@ -0,0 +1,26 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/storage/encrypted.ks +%include fragments/repo/rawhide-mirrors.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_encrypted_rawhide.cfg b/recipes/install_virtual_desktop_encrypted_rawhide.cfg new file mode 100644 index 0000000..e313823 --- /dev/null +++ b/recipes/install_virtual_desktop_encrypted_rawhide.cfg @@ -0,0 +1,26 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/storage/encrypted.ks +%include fragments/repo/rawhide-mirrors.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_hw_43.cfg b/recipes/install_virtual_desktop_hw_43.cfg new file mode 100644 index 0000000..1e44812 --- /dev/null +++ b/recipes/install_virtual_desktop_hw_43.cfg @@ -0,0 +1,24 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_hw_rawhide.cfg b/recipes/install_virtual_desktop_hw_rawhide.cfg new file mode 100644 index 0000000..93e95de --- /dev/null +++ b/recipes/install_virtual_desktop_hw_rawhide.cfg @@ -0,0 +1,25 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/repo/rawhide-mirrors.ks \ No newline at end of file diff --git a/recipes/install_virtual_desktop_rawhide.cfg b/recipes/install_virtual_desktop_rawhide.cfg new file mode 100644 index 0000000..93e95de --- /dev/null +++ b/recipes/install_virtual_desktop_rawhide.cfg @@ -0,0 +1,25 @@ +# __ ____ ____ _____ +# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ +# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ +# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / +# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ +# /_/ /____/ + +# An install recipe for desktop, server, or hypervisor + +%include fragments/core/base.ks +%include fragments/repo/fedora-43-mirrors.ks +%include fragments/storage/standard.ks +%include fragments/bootloader/grub.ks +%include fragments/core/locale.ks +%include fragments/core/services.ks +%include fragments/core/network.ks +%include fragments/packages/core-group.ks +%include fragments/packages/fedora-remix.ks +%include fragments/packages/hand-picked.ks +%include fragments/core/security/enabled.ks +%include fragments/initial-setup/server/config.ks +%include fragments/desktop/gnome/config.ks +%include fragments/desktop/gnome/packages.ks +%include fragments/desktop/gnome/post-scripts.ks +%include fragments/repo/rawhide-mirrors.ks \ No newline at end of file diff --git a/recipes/install_hypervisor-desktop_amdcpu_43.cfg b/recipes/install_virtual_hypervisor-desktop_amdcpu_43.cfg similarity index 100% rename from recipes/install_hypervisor-desktop_amdcpu_43.cfg rename to recipes/install_virtual_hypervisor-desktop_amdcpu_43.cfg diff --git a/recipes/install_hypervisor-desktop_intelcpu_43.cfg b/recipes/install_virtual_hypervisor-desktop_intelcpu_43.cfg similarity index 100% rename from recipes/install_hypervisor-desktop_intelcpu_43.cfg rename to recipes/install_virtual_hypervisor-desktop_intelcpu_43.cfg diff --git a/recipes/install_server_43.cfg b/recipes/install_virtual_server_43.cfg similarity index 100% rename from recipes/install_server_43.cfg rename to recipes/install_virtual_server_43.cfg diff --git a/recipes/install_server_rawhide.cfg b/recipes/install_virtual_server_rawhide.cfg similarity index 100% rename from recipes/install_server_rawhide.cfg rename to recipes/install_virtual_server_rawhide.cfg diff --git a/recipes/live_desktop_43.cfg b/recipes/live_bare-metal_desktop_hw_43.cfg similarity index 100% rename from recipes/live_desktop_43.cfg rename to recipes/live_bare-metal_desktop_hw_43.cfg diff --git a/recipes/live_server_43.cfg b/recipes/live_bare-metal_server_hw_43.cfg similarity index 100% rename from recipes/live_server_43.cfg rename to recipes/live_bare-metal_server_hw_43.cfg diff --git a/tests/__pycache__/test_recipe_generator.cpython-314-pytest-8.4.2.pyc b/tests/__pycache__/test_recipe_generator.cpython-314-pytest-8.4.2.pyc index 1d1a0e493f25d082ed7dbcbf038f6786f976a462..e24fb2bfd393801514dbe6894a534bd4de361d54 100644 GIT binary patch delta 6005 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 BHV^;+ diff --git a/tests/integration/__pycache__/conftest.cpython-314-pytest-8.4.2.pyc b/tests/integration/__pycache__/conftest.cpython-314-pytest-8.4.2.pyc index f037550a1e4cab07d84cf497e8990c71e9b700e8..fb044f902cbc5c8928840e273a3f43b668ab4f9b 100644 GIT binary patch delta 622 zcmbOw{8)%jn~#@^0SJ!S9nJj8vXRe?N%NOLQEGB#L8@+gYF=tlVo82cGDrmsFasGt z%<|c7atV{>|0|B0->xED#s-1BnKP4)d!q>C1c;#^>rMO*Jb7G@y)0ft@u-37QSrT9i#a&(X5YS#-}{))g%?xyvYk6Z;5_~Q z&aLQg>}%>=Y={nbJzsRtad;>w8X@%HfqbS`si(B4e5IBansmiHj3LBRZd9OAE*mhuIDYb-$Ba5X@!7vxPhnZA!pFfBBDi^< zOd%U1-(&-2Sw{ZNe#)#&s2l;1%;cS#B8-BQ&uKa{3T@6)G-PBHo+PKp$UfOhTYK_E z?J`ENDn?PDeio+5T6)HeVw2pT%WWrY)Gnue}0*rwnh$TpTvY))}WHa X^HWN5QtgULCns1oaEdZUGlHc7$M=T0 delta 614 zcmdmy_p+E*n~#@^0SLJHk7j0W%1RKzb| zp(r&uvmmutAw4xOwJ5P9HD$Al&l*_!kf>^6tYd0Qj}xl+x$_6m5Gsmvc0k_ zqW~6;AV_BN5_J(qp~*Ydof(BUFH|;UoE)X8G&w+%i&1nkzntRa8qG3ButG+$&4OCy zOpM}_J#|9GWx^PY8G~fQR~s{#uz-Szfgy+`NMdrMqVD7dK7q*_#6&0C>vB!D6qlU* zPZ7lCWtIq%ob0a~EhrVn#lv94WWos5Cp~$$ZYHDLWL3SZEX-xOxto9L9bsfln!L}z zl{*Kh#s`Rt^H?|Y8J=aVzagV~fyKPXcZTOx9uR8