Automate flattening: convert %ksappend to %include for ksflatten compatibility

This commit is contained in:
Lukas Greve
2026-03-26 14:04:52 +01:00
parent 8c0c3907d4
commit 7f2f150fd2
81 changed files with 2682 additions and 4760 deletions
+92
View File
@@ -0,0 +1,92 @@
#!/usr/bin/env python3
"""
Flatten kickstart recipes with relative %include paths.
Converts %include fragments/... to %include ../fragments/... relative to recipes/ location.
"""
import os
import sys
import subprocess
import tempfile
def flatten_recipe(recipe_path, output_path):
"""Flatten a recipe file, converting relative paths."""
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Read the recipe
with open(recipe_path, 'r') as f:
content = f.read()
# Convert %include paths to relative (from recipes/ perspective)
lines = []
for line in content.split('\n'):
if line.startswith('%include '):
# Get the fragment path from %include path
parts = line.split(None, 1)
if len(parts) >= 2:
fragment_path = parts[1]
# Make it relative to recipes/
if fragment_path.startswith('fragments/'):
# Keep as relative path - it's relative to the recipe file's location
# recipes/ contains recipes, fragments/ is at project root level
# So from recipes/, fragments/ is ../fragments/
relative_path = '../' + fragment_path
lines.append('%include ' + relative_path)
else:
lines.append(line)
else:
lines.append(line)
else:
lines.append(line)
# Write to temp file in recipes directory
temp_fd, temp_path = tempfile.mkstemp(suffix='.ks', dir=os.path.dirname(recipe_path))
try:
os.write(temp_fd, '\n'.join(lines).encode('utf-8'))
os.close(temp_fd)
# Call ksflatten
cmd = ['ksflatten', '-c', temp_path, '-o', output_path]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
print(f"Error flattening {os.path.basename(recipe_path)}:", file=sys.stderr)
print(result.stderr, file=sys.stderr)
return False
return True
finally:
os.unlink(temp_path)
def main():
if len(sys.argv) < 3:
print("Usage: ksflatten-relative RECIPE_DIR DISH_DIR", file=sys.stderr)
print("Example: ksflatten-relative recipes dishes", file=sys.stderr)
sys.exit(1)
recipe_dir = sys.argv[1]
dish_dir = sys.argv[2]
if not os.path.isdir(recipe_dir):
print(f"Error: {recipe_dir} is not a directory", file=sys.stderr)
sys.exit(1)
os.makedirs(dish_dir, exist_ok=True)
recipes = [f for f in os.listdir(recipe_dir) if f.endswith('.cfg')]
for recipe_name in sorted(recipes):
recipe_path = os.path.join(recipe_dir, recipe_name)
dish_path = os.path.join(dish_dir, recipe_name)
print(f" Processing: {recipe_name}")
if not flatten_recipe(recipe_path, dish_path):
sys.exit(1)
print("✓ All recipes flattened to dishes")
if __name__ == '__main__':
main()
-307
View File
@@ -1,307 +0,0 @@
# Generated by pykickstart v3.62
#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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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/base-hypervisor-amdcpu.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
@critical-path-gnome
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
libertas-firmware
libifp
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
liquidio-firmware
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
qemu-kvm
radeontop
realtek-firmware
tiwilink-firmware
usbutils
virt-install
virt-manager
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
@@ -1,270 +0,0 @@
# Generated by pykickstart v3.66
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
# 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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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/base-hypervisor-amdcpu.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
@hardware-support
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-initial-setup
gnome-session-wayland-session
gnome-shell
gnome-terminal
gvfs-fuse
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
mozilla-ublock-origin.noarch
nano
nautilus
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-kvm
usbutils
virt-install
virt-manager
wget
%end
@@ -1,317 +0,0 @@
# Generated by pykickstart v3.62
#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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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/base-hypervisor-intelcpu.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
%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelgpu.log
sed -i 's/\(vfio-pci\)/\1 i915.enable_gvt=1/i' /mnt/sysimage/etc/default/grub # Load kernel modules in grub.
# Load extra kernel modules to enable vfio-mdev on selected hardware
echo "kvmgt" > /mnt/sysimage/etc/modules-load.d/kvmgt.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm)
echo "vfio-mdev" > /mnt/sysimage/etc/modules-load.d/vfio-mdev.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm)
%end
%packages --exclude-weakdeps
@base-graphical
@core
@critical-path-gnome
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
libertas-firmware
libifp
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
liquidio-firmware
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
qemu-kvm
radeontop
realtek-firmware
tiwilink-firmware
usbutils
virt-install
virt-manager
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
@@ -1,192 +0,0 @@
# Generated by pykickstart v3.66
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
# 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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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/base-hypervisor-intelcpu.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
%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelgpu.log
sed -i 's/\(vfio-pci\)/\1 i915.enable_gvt=1/i' /mnt/sysimage/etc/default/grub # Load kernel modules in grub.
# Load extra kernel modules to enable vfio-mdev on selected hardware
echo "kvmgt" > /mnt/sysimage/etc/modules-load.d/kvmgt.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm)
echo "vfio-mdev" > /mnt/sysimage/etc/modules-load.d/vfio-mdev.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm)
%end
%packages --exclude-weakdeps
@core
@hardware-support
curl
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-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
virt-manager
wget
%end
-307
View File
@@ -1,307 +0,0 @@
# Generated by pykickstart v3.62
#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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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/base-hypervisor-intelcpu.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
@critical-path-gnome
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
libertas-firmware
libifp
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
liquidio-firmware
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
qemu-kvm
radeontop
realtek-firmware
tiwilink-firmware
usbutils
virt-install
virt-manager
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
@@ -1,270 +0,0 @@
# Generated by pykickstart v3.66
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
# 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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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/base-hypervisor-intelcpu.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
@hardware-support
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-initial-setup
gnome-session-wayland-session
gnome-shell
gnome-terminal
gvfs-fuse
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
mozilla-ublock-origin.noarch
nano
nautilus
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-kvm
usbutils
virt-install
virt-manager
wget
%end
-299
View File
@@ -1,299 +0,0 @@
# Generated by pykickstart v3.62
#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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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
%packages --exclude-weakdeps
@base-graphical
@core
@critical-path-gnome
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
libertas-firmware
libifp
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
liquidio-firmware
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
qemu-kvm
radeontop
realtek-firmware
tiwilink-firmware
usbutils
virt-install
virt-manager
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
-262
View File
@@ -1,262 +0,0 @@
# Generated by pykickstart v3.66
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
# 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="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,libvirtd"
# 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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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
%packages --exclude-weakdeps
@base-graphical
@core
@hardware-support
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-initial-setup
gnome-session-wayland-session
gnome-shell
gnome-terminal
gvfs-fuse
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
mozilla-ublock-origin.noarch
nano
nautilus
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-kvm
usbutils
virt-install
virt-manager
wget
%end
-188
View File
@@ -1,188 +0,0 @@
# Generated by pykickstart v3.62
#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="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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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
@base-graphical
@core
@critical-path-gnome
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
libertas-firmware
libifp
libusb
liquidio-firmware
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
radeontop
realtek-firmware
tiwilink-firmware
usbutils
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
@@ -1,9 +1,9 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled --service=ssh
firewall --enabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
@@ -17,9 +17,9 @@ 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 --plaintext --allow-ssh 1234
rootpw --lock
# SELinux configuration
selinux --disabled
selinux --enforcing
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
@@ -35,16 +35,11 @@ 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" --mkfsoptions="-O encrypt,fast_commit"
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
%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]
@@ -56,7 +51,7 @@ cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.overr
[org.gnome.Terminal.Legacy.Profile]
font='DejaVu Sans Mono 12'
use-system-font=false
audible-bell=false
auditable-bell=false
EOF
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
@@ -77,7 +72,7 @@ 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-files=false
remember-recent-file=false
remember-app-usage=false
disable-camera=true
disable-microphone=true
@@ -137,8 +132,6 @@ pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-guest-agent
spice-vdagent
usbutils
wget
+141
View File
@@ -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
+141
View File
@@ -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
+141
View File
@@ -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
@@ -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
+138
View File
@@ -0,0 +1,138 @@
# 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
%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
+138
View File
@@ -0,0 +1,138 @@
# 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
%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
+138
View File
@@ -0,0 +1,138 @@
# 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
%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
@@ -14,6 +14,7 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --lock
# SELinux configuration
@@ -22,6 +23,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=rawhide&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,12 +38,7 @@ part /boot/efi --fstype="efi" --size=512 --fsoptions="umask=0077,shortname=winnt
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/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
%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]
@@ -52,7 +50,7 @@ cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.overr
[org.gnome.Terminal.Legacy.Profile]
font='DejaVu Sans Mono 12'
use-system-font=false
audible-bell=false
auditable-bell=false
EOF
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
@@ -73,7 +71,7 @@ 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-files=false
remember-recent-file=false
remember-app-usage=false
disable-camera=true
disable-microphone=true
@@ -133,8 +131,6 @@ pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-guest-agent
spice-vdagent
usbutils
wget
@@ -1,9 +1,9 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled --service=ssh
firewall --enabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
@@ -16,9 +16,9 @@ network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --plaintext --allow-ssh 1234
rootpw --lock
# SELinux configuration
selinux --disabled
selinux --enforcing
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
@@ -34,16 +34,14 @@ 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" --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/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
%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]
@@ -55,7 +53,7 @@ cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.overr
[org.gnome.Terminal.Legacy.Profile]
font='DejaVu Sans Mono 12'
use-system-font=false
audible-bell=false
auditable-bell=false
EOF
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
@@ -76,7 +74,7 @@ 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-files=false
remember-recent-file=false
remember-app-usage=false
disable-camera=true
disable-microphone=true
@@ -136,8 +134,6 @@ pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-guest-agent
spice-vdagent
usbutils
wget
@@ -1,4 +1,4 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
@@ -34,24 +34,14 @@ 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" --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 --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
%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]
@@ -63,7 +53,7 @@ cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.overr
[org.gnome.Terminal.Legacy.Profile]
font='DejaVu Sans Mono 12'
use-system-font=false
audible-bell=false
auditable-bell=false
EOF
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
@@ -84,7 +74,7 @@ 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-files=false
remember-recent-file=false
remember-app-usage=false
disable-camera=true
disable-microphone=true
@@ -144,8 +134,6 @@ pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-guest-agent
spice-vdagent
usbutils
wget
@@ -1,4 +1,4 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
@@ -34,24 +34,14 @@ 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 --encrypted --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" --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 --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
%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]
@@ -63,7 +53,7 @@ cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.overr
[org.gnome.Terminal.Legacy.Profile]
font='DejaVu Sans Mono 12'
use-system-font=false
audible-bell=false
auditable-bell=false
EOF
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
@@ -84,7 +74,7 @@ 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-files=false
remember-recent-file=false
remember-app-usage=false
disable-camera=true
disable-microphone=true
@@ -144,8 +134,6 @@ pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-guest-agent
spice-vdagent
usbutils
wget
@@ -0,0 +1,140 @@
# 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="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
+137
View File
@@ -0,0 +1,137 @@
# 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="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"
%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
+137
View File
@@ -0,0 +1,137 @@
# 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="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"
%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
+137
View File
@@ -0,0 +1,137 @@
# 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="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"
%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
@@ -1,11 +1,11 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
@@ -14,7 +14,6 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --lock
# SELinux configuration
@@ -23,8 +22,6 @@ selinux --enforcing
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
@@ -34,24 +31,11 @@ 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" --mkfsoptions="-O encrypt,fast_commit"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
%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]
@@ -63,7 +47,7 @@ cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.overr
[org.gnome.Terminal.Legacy.Profile]
font='DejaVu Sans Mono 12'
use-system-font=false
audible-bell=false
auditable-bell=false
EOF
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
@@ -84,7 +68,7 @@ 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-files=false
remember-recent-file=false
remember-app-usage=false
disable-camera=true
disable-microphone=true
@@ -115,10 +99,72 @@ 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
@hardware-support
bash-color-prompt
curl
dconf
@@ -132,11 +178,11 @@ generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-session-wayland-session
gnome-shell
gnome-terminal
gvfs-fuse
initial-setup
libusb
mozilla-ublock-origin.noarch
nano
@@ -146,6 +192,7 @@ pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
usbutils
virt-manager
wget
%end
@@ -0,0 +1,198 @@
# 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
#Root password
rootpw --lock
# SELinux configuration
selinux --enforcing
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
timezone Europe/Zurich --utc
# 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
+106
View File
@@ -0,0 +1,106 @@
# 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
#Root password
rootpw --lock
# SELinux configuration
selinux --enforcing
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Zurich --utc
# 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
@@ -1,5 +1,7 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
@@ -12,7 +14,6 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --lock
# SELinux configuration
@@ -21,86 +22,18 @@ 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=rawhide&arch=x86_64"
# System bootloader configuration
bootloader --location=none --timeout=1
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
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 --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.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 --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log
%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
@@ -130,23 +63,23 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
%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
@anaconda-tools
@core
@hardware-support
aajohan-comfortaa-fonts
curl
dracut-live
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc-all-langpacks
initial-setup
kernel
kernel-modules
kernel-modules-extra
libusb
libvirt
libvirt-client
@@ -163,7 +96,6 @@ libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
livesys-scripts
nano
pciutils
qemu-kvm
@@ -1,9 +1,11 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled --service=ssh
firewall --enabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
@@ -15,9 +17,9 @@ 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 --plaintext --allow-ssh 1234
rootpw --lock
# SELinux configuration
selinux --disabled
selinux --enforcing
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
@@ -31,9 +33,9 @@ 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" --mkfsoptions="-O encrypt,fast_commit"
%packages --exclude-weakdeps
@core
@@ -43,11 +45,10 @@ generic-logos
generic-release
generic-release-common
generic-release-notes
initial-setup
libusb
nano
pciutils
qemu-guest-agent
spice-vdagent
usbutils
wget
@@ -1,9 +1,11 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --enabled --service=ssh
firewall --enabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
@@ -14,9 +16,9 @@ network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --plaintext --allow-ssh 1234
rootpw --lock
# SELinux configuration
selinux --disabled
selinux --enforcing
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
@@ -30,9 +32,9 @@ 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" --mkfsoptions="-O encrypt,fast_commit"
%packages --exclude-weakdeps
@core
@@ -42,11 +44,10 @@ generic-logos
generic-release
generic-release-common
generic-release-notes
initial-setup
libusb
nano
pciutils
qemu-guest-agent
spice-vdagent
usbutils
wget
-355
View File
@@ -1,355 +0,0 @@
# Generated by pykickstart v3.62
#version=DEVEL
# 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="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,libvirtd"
# 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=none --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/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.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 --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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
%packages --exclude-weakdeps
@base-graphical
@core
@critical-path-gnome
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
libertas-firmware
libifp
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
liquidio-firmware
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
qemu-kvm
radeontop
realtek-firmware
tiwilink-firmware
usbutils
virt-install
virt-manager
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
-318
View File
@@ -1,318 +0,0 @@
# Generated by pykickstart v3.66
#version=DEVEL
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
# 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="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,libvirtd"
# 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=none --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/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.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 --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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/base-desktop-gnome-virtual-machine-manager.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
# Modify the default virt-manager behavior for misc. options
[org.virt-manager.virt-manager]
xmleditor-enabled=true
manager-window-height=600
manager-window-width=200
# Libvirt URIs listed in the manager window
[org.virt-manager.virt-manager.connections]
uris=['qemu:///system', 'qemu:///session']
autoconnect=['qemu:///session']
# Show usage in the domain list
[org.virt-manager.virt-manager.vmlist-fields]
cpu-usage=false
# Settings related to statistics
[org.virt-manager.virt-manager.stats]
update-interval=3
enable-disk-poll=true
enable-memory-poll=true
enable-net-poll=true
# Default behavior for the console
[org.virt-manager.virt-manager.console]
scaling=2
resize-guest=1
autoconnect=false
# Do not show toolbar
[org.virt-manager.virt-manager.details]
show-toolbar=false
# Modify default values for new VMs
[org.virt-manager.virt-manager.new-vm]
storage-format='raw'
cpu-default='host-model'
graphics-type='spice'
# Modify the default virt-manager behavior for confirmation dialogues
[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/base-hypervisor.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
%packages --exclude-weakdeps
@base-graphical
@core
@hardware-support
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-initial-setup
gnome-session-wayland-session
gnome-shell
gnome-terminal
gvfs-fuse
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
mozilla-ublock-origin.noarch
nano
nautilus
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
qemu-kvm
usbutils
virt-install
virt-manager
wget
%end
-252
View File
@@ -1,252 +0,0 @@
# Generated by pykickstart v3.62
#version=DEVEL
# 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="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=none --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/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.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 --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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
@anaconda-tools
@base-graphical
@core
@critical-path-gnome
aajohan-comfortaa-fonts
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dejavu-sans-mono-fonts
dracut-live
dvb-firmware
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc-all-langpacks
gnome-backgrounds.noarch
gnome-initial-setup
gpsd
gpsd-clients
hddtemp
hdparm
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
kernel
kernel-modules
kernel-modules-extra
libertas-firmware
libifp
libusb
liquidio-firmware
livesys-scripts
lsscsi
mlxsw_spectrum-firmware
mozilla-ublock-origin.noarch
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
radeontop
realtek-firmware
tiwilink-firmware
usbutils
wget
wpan-tools
zd1211-firmware
-NetworkManager-pptp
-avahi
-gnome-bluetooth
-gnome-software
-toolbox
%end
-215
View File
@@ -1,215 +0,0 @@
# Generated by pykickstart v3.66
#version=DEVEL
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --enable
# 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="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=none --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/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.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 --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
# [org.gnome.desktop.background]
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
# EOF
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
audible-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-files=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
@anaconda-tools
@base-graphical
@core
@hardware-support
aajohan-comfortaa-fonts
bash-color-prompt
curl
dconf
dejavu-sans-mono-fonts
dracut-live
fedora-remix-logos
firefox
gdm
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc-all-langpacks
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-session-wayland-session
gnome-shell
gnome-terminal
gvfs-fuse
kernel
kernel-modules
kernel-modules-extra
libusb
livesys-scripts
mozilla-ublock-origin.noarch
nano
nautilus
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
usbutils
wget
%end
-217
View File
@@ -1,217 +0,0 @@
# Generated by pykickstart v3.62
#version=DEVEL
# 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="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,libvirtd"
# 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=none --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/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.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 --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.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
%packages --exclude-weakdeps
@anaconda-tools
@core
aajohan-comfortaa-fonts
acpi
acpitool
alsa-firmware
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
atmel-firmware
b43-fwcutter
b43-openfwwf
brcmfmac-firmware
cirrus-audio-firmware
cmospwd
curl
dracut-live
dvb-firmware
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc-all-langpacks
gpsd
gpsd-clients
hddtemp
hdparm
initial-setup
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iscan-firmware
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
kernel
kernel-modules
kernel-modules-extra
libertas-firmware
libifp
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
liquidio-firmware
livesys-scripts
lsscsi
mlxsw_spectrum-firmware
mrvlprestera-firmware
mt7xxx-firmware
nano
netronome-firmware
nvidia-gpu-firmware
nxpwireless-firmware
opensc
pciutils
pcsc-lite
pcsc-lite-ccid
qcom-accel-firmware
qed-firmware
qemu-kvm
radeontop
realtek-firmware
tiwilink-firmware
usbutils
virt-install
wget
wpan-tools
zd1211-firmware
%end
@@ -1,9 +1,5 @@
# Generated by pykickstart v3.66
# Generated by pykickstart v3.69
#version=DEVEL
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
@@ -12,19 +8,14 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --lock
# SELinux configuration
selinux --enforcing
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=rawhide&arch=x86_64"
# System bootloader configuration
bootloader --location=none --timeout=1
bootloader --location=mbr --timeout=1
# Clear the Master Boot Record
zerombr
# Partition clearing information
@@ -33,15 +24,7 @@ clearpart --all --initlabel
part / --fstype="ext4" --size=5120
part / --size=8576
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.log
%post --logfile=/mnt/sysimage/root/live-core-post.log
# Enable livesys services
systemctl enable livesys.service
@@ -100,27 +83,28 @@ sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys
%end
%packages --exclude-weakdeps
%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
@core
aajohan-comfortaa-fonts
curl
dracut-live
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc-all-langpacks
initial-setup
kernel
kernel-modules
kernel-modules-extra
libusb
livesys-scripts
nano
pciutils
usbutils
wget
%end
@@ -1,9 +1,5 @@
# Generated by pykickstart v3.62
# Generated by pykickstart v3.69
#version=DEVEL
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
@@ -12,19 +8,14 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="rawhide" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
#Root password
rootpw --lock
# SELinux configuration
selinux --enforcing
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=rawhide&arch=x86_64"
# System bootloader configuration
bootloader --location=none --timeout=1
bootloader --location=mbr --timeout=1
# Clear the Master Boot Record
zerombr
# Partition clearing information
@@ -33,15 +24,7 @@ clearpart --all --initlabel
part / --fstype="ext4" --size=5120
part / --size=8576
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%post --logfile=/mnt/sysimage/root/post-live-core.log
%post --logfile=/mnt/sysimage/root/live-core-post.log
# Enable livesys services
systemctl enable livesys.service
@@ -100,27 +83,28 @@ sed -i 's/^livesys_session=.*/livesys_session="gnome"/' /etc/sysconfig/livesys
%end
%packages --exclude-weakdeps
%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
@core
aajohan-comfortaa-fonts
curl
dracut-live
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc-all-langpacks
initial-setup
kernel
kernel-modules
kernel-modules-extra
libusb
livesys-scripts
nano
pciutils
usbutils
wget
%end
-71
View File
@@ -1,71 +0,0 @@
# Generated by pykickstart v3.66
#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 --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 --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%packages --exclude-weakdeps
@base-graphical
@core
curl
fedora-remix-logos
firefox
generic-logos
generic-release
generic-release-common
generic-release-notes
initial-setup
labwc
libusb
mozilla-ublock-origin.noarch
nano
pciutils
qemu-guest-agent
spice-vdagent
usbutils
wget
%end
-65
View File
@@ -1,65 +0,0 @@
# Generated by pykickstart v3.66
#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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%packages --exclude-weakdeps
@core
curl
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
initial-setup
libusb
nano
pciutils
qemu-guest-agent
spice-vdagent
usbutils
wget
%end
-64
View File
@@ -1,64 +0,0 @@
# Generated by pykickstart v3.66
#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="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"
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%packages --exclude-weakdeps
@core
curl
fedora-remix-logos
generic-logos
generic-release
generic-release-common
generic-release-notes
initial-setup
libusb
nano
pciutils
qemu-guest-agent
spice-vdagent
usbutils
wget
%end
+1 -1
View File
@@ -1,3 +1,3 @@
# GRUB bootloader configuration
bootsupport --timeout=1 # Set the GNU GRUB bootloader timeout to 1
bootloader --timeout=1 # Set the GNU GRUB bootloader timeout to 1
+18 -2
View File
@@ -1,4 +1,4 @@
.PHONY: help generate-recipes validate-recipes test test-integration test-container clean install-deps
.PHONY: help generate-recipes validate-recipes test test-integration test-container clean clean-dishes install-deps flatten-dishes all
help:
@echo "Phyllome OS Recipe Generator"
@@ -9,9 +9,15 @@ help:
@echo " test - Run pytest test suite (unit + integration)"
@echo " test-integration - Run integration tests only"
@echo " test-container - Run all tests in container"
@echo " all - Generate, validate, and flatten all recipes (default)"
@echo " flatten-dishes - Flatten all recipes to dishes"
@echo " clean-dishes - Remove flattened dishes"
@echo " clean - Remove generated recipes"
@echo " install-deps - Install Python dependencies"
all: generate-recipes validate-recipes flatten-dishes
@echo "✓ All recipes generated, validated, and flattened to dishes"
install-deps:
pip install -r requirements.txt
@@ -35,6 +41,16 @@ test-container:
podman build -t phyllo/test-runner ../tests/container/
podman run --rm -v .:/phyllomeos:ro phyllo/test-runner
flatten-dishes:
@echo "Flattening recipes to dishes..."
@python ../bin/ksflatten-relative ../recipes ../dishes
clean-dishes:
rm -f ../dishes/*.cfg
@echo "✓ Flattened dishes removed. Run 'make flatten-dishes' to regenerate."
clean:
rm -f ../recipes/*.cfg
@echo "Generated recipes removed. Edit recipes_manifest.yaml and run 'make generate-recipes' to regenerate."
@echo "Generated recipes removed. Edit recipes_manifest.yaml and run 'make generate-recipes' to regenerate. Run 'make clean-dishes' to remove flattened dishes."
+69 -29
View File
@@ -235,7 +235,7 @@ class RecipeGenerator:
return header
def build_includes(self, template: Dict, version: str, modifiers: Dict) -> List[str]:
"""Build %ksappend lines from template and modifiers."""
"""Build %include lines from template and modifiers."""
includes = []
seen = set() # Track to prevent duplicates
# Add version to modifiers for template processing
@@ -256,7 +256,7 @@ class RecipeGenerator:
continue
if fragment_path not in seen:
includes.append(f"%ksappend {fragment_path}")
includes.append(f"%include {fragment_path}")
seen.add(fragment_path)
# Add optional includes based on modifiers
@@ -272,10 +272,10 @@ class RecipeGenerator:
if isinstance(fragment_path, list):
for fp in fragment_path:
if fp is not None and fp not in seen:
includes.append(f"%ksappend {fp}")
includes.append(f"%include {fp}")
seen.add(fp)
elif fragment_path and fragment_path not in seen:
includes.append(f"%ksappend {fragment_path}")
includes.append(f"%include {fragment_path}")
seen.add(fragment_path)
# Case 2: opt_config is nested dict (e.g., virtualization)
@@ -287,10 +287,10 @@ class RecipeGenerator:
if isinstance(nested_value, list):
for fp in nested_value:
if fp is not None and fp not in seen:
includes.append(f"%ksappend {fp}")
includes.append(f"%include {fp}")
seen.add(fp)
elif nested_value is not None and nested_value not in seen:
includes.append(f"%ksappend {nested_value}")
includes.append(f"%include {nested_value}")
seen.add(nested_value)
# Case 3: opt_config is nested dict, value is boolean (additive)
@@ -299,17 +299,17 @@ class RecipeGenerator:
if isinstance(nested_value, list):
for fp in nested_value:
if fp is not None and fp not in seen:
includes.append(f"%ksappend {fp}")
includes.append(f"%include {fp}")
seen.add(fp)
elif nested_value is not None and nested_value not in seen:
includes.append(f"%ksappend {nested_value}")
includes.append(f"%include {nested_value}")
seen.add(nested_value)
# Case 4: opt_config is list, value is boolean (boolean flag)
elif isinstance(opt_config, list) and value is True:
for fragment_path in opt_config:
if fragment_path is not None and fragment_path not in seen:
includes.append(f"%ksappend {fragment_path}")
includes.append(f"%include {fragment_path}")
seen.add(fragment_path)
# Handle modifiers section
@@ -331,10 +331,10 @@ class RecipeGenerator:
if isinstance(fragment_path, list):
for fp in fragment_path:
if fp is not None and fp not in seen:
includes.append(f"%ksappend {fp}")
includes.append(f"%include {fp}")
seen.add(fp)
elif fragment_path and fragment_path not in seen:
includes.append(f"%ksappend {fragment_path}")
includes.append(f"%include {fragment_path}")
seen.add(fragment_path)
# Handle list modifiers
@@ -345,10 +345,10 @@ class RecipeGenerator:
if isinstance(fragment_path, list):
for fp in fragment_path:
if fp is not None and fp not in seen:
includes.append(f"%ksappend {fp}")
includes.append(f"%include {fp}")
seen.add(fp)
elif fragment_path and fragment_path not in seen:
includes.append(f"%ksappend {fragment_path}")
includes.append(f"%include {fragment_path}")
seen.add(fragment_path)
return includes
@@ -356,7 +356,7 @@ class RecipeGenerator:
def validate_recipe(self, content: str) -> List[str]:
"""Validate recipe content, return list of warnings/errors."""
issues = []
includes = [line for line in content.split('\n') if line.startswith('%ksappend')]
includes = [line for line in content.split('\n') if line.startswith('%include')]
# Check for duplicate includes
seen = set()
@@ -381,8 +381,24 @@ class RecipeGenerator:
return issues
def validate_recipe_semantic_from_file(self, recipe_path: str, version: str) -> List[str]:
"""Validate recipe from file path using pykickstart."""
try:
return self._validate_recipe_semantic_internal(recipe_path, version)
except FileNotFoundError:
return [f"Error: Recipe file not found: {recipe_path}"]
def validate_recipe_content(self, recipe_path: str) -> List[str]:
"""Validate recipe content from file path for include resolution."""
content = Path(recipe_path).read_text(encoding='utf-8')
return self.validate_recipe(content)
def validate_recipe_semantic(self, content: str, version: str) -> List[str]:
"""Validate recipe using pykickstart parser with version-specific checks."""
return self._validate_recipe_semantic_internal(content, version)
def _validate_recipe_semantic_internal(self, source, version: str) -> List[str]:
"""Internal validation method that handles both file paths and content."""
issues = []
modules = _import_pykickstart()
@@ -403,16 +419,27 @@ class RecipeGenerator:
try:
parser = KickstartParser(ks_version)
# Determine if source is a file path or content
if isinstance(source, Path) or (isinstance(source, str) and (source.endswith('.ks') or source.endswith('.cfg')) or (Path(source).exists() and Path(source).is_file())):
# Source is a file path
content = Path(source).read_text(encoding='utf-8')
else:
# Source is content string
content = source
parser.readKickstartFromString(content)
except KickstartParseError as e:
issues.append(f"Syntax error line {e.lineno}: {e.message}")
except KickstartError as e:
issues.append(f"Validation error: {str(e)}")
# Only add if it's not an include-related error
err_str = str(e)
if 'Unable to open input kickstart file' not in err_str:
issues.append(f"Validation error: {err_str}")
except Exception as e: # noqa: BLE001 - Catch all for unexpected parser errors
issues.append(f"Unexpected error during parsing: {str(e)}")
# Check for deprecated commands in the content
issues.extend(self._check_deprecated_commands(content))
if isinstance(source, str):
issues.extend(self._check_deprecated_commands(source))
return issues
@@ -449,6 +476,15 @@ class RecipeGenerator:
return issues
def extract_version(self, content: str, filename: str) -> Optional[str]:
"""Extract Fedora version from recipe content or filename."""
return self._extract_version_internal(content, filename)
def extract_version_from_file(self, recipe_path: str, filename: str) -> Optional[str]:
"""Extract version from recipe file."""
content = Path(recipe_path).read_text(encoding='utf-8')
return self._extract_version_internal(content, filename)
def _extract_version_internal(self, content: str, filename: str) -> Optional[str]:
"""Extract Fedora version from recipe content or filename."""
filename_match = re.search(r'(?:_|-)(43|rawhide)(?:_|-|.cfg|.yaml|$)', filename)
if filename_match:
@@ -460,7 +496,7 @@ class RecipeGenerator:
return '43'
elif 'core-fedora-repo-rawhide' in line:
return 'rawhide'
# Check for new %ksappend references
# Check for new %include references
if 'generic-43/repo' in line:
return '43'
elif 'generic-rawhide/repo' in line:
@@ -625,15 +661,14 @@ def main():
all_issues = []
for recipe_path in args.validate:
try:
with open(recipe_path, encoding='utf-8') as f:
content = f.read()
issues = generator.validate_recipe(content)
# Validate with file path so includes can be resolved correctly
issues = generator.validate_recipe_content(recipe_path)
# Extract version and perform semantic validation
filename = Path(recipe_path).stem
version = generator.extract_version(content, filename)
version = generator.extract_version_from_file(recipe_path, filename)
if version:
semantic_issues = generator.validate_recipe_semantic(content, version)
semantic_issues = generator.validate_recipe_semantic_from_file(recipe_path, version)
issues.extend(semantic_issues)
else:
issues.append("Warning: Could not determine version, "
@@ -646,20 +681,19 @@ def main():
sys.exit(2)
if all_issues:
print("=== Recipe Validation Report ===", file=sys.stderr)
for path, issues in all_issues:
print(f"\n{path}:", file=sys.stderr)
error_count = sum(1 for i in issues if 'ERROR' in i)
warning_count = sum(1 for i in issues if 'Warning:' in i)
error_count = sum(1 for i in issues if 'ERROR' in i or 'error' in i.lower())
warning_count = sum(1 for i in issues if 'Warning' in i or 'warning' in i.lower())
if error_count > 0:
for issue in issues:
if 'ERROR' in issue:
if 'ERROR' in issue or 'error' in issue.lower():
print(f" {issue}", file=sys.stderr)
if warning_count > 0:
for issue in issues:
if 'Warning:' in issue:
if 'Warning' in issue or 'warning' in issue.lower():
print(f" {issue}", file=sys.stderr)
if error_count == 0 and warning_count == 0:
@@ -668,9 +702,9 @@ def main():
print(f"\nSummary:", file=sys.stderr)
print(f" - {len(all_issues)} recipe(s) checked", file=sys.stderr)
total_errors = sum(len([i for i in issues if 'ERROR' in i])
total_errors = sum(len([i for i in issues if 'ERROR' in i or 'error' in i.lower()])
for _, issues in all_issues)
total_warnings = sum(len([i for i in issues if 'Warning:' in i])
total_warnings = sum(len([i for i in issues if 'Warning' in i or 'warning' in i.lower()])
for _, issues in all_issues)
print(f" - {total_errors} error(s), {total_warnings} warning(s)", file=sys.stderr)
@@ -679,8 +713,14 @@ def main():
print("\nStrict mode: Warnings treated as errors", file=sys.stderr)
sys.exit(1)
# If there are errors, exit with error code
if total_errors > 0:
sys.exit(1)
# If there are issues but no counted errors/warnings, that means
# there are validation issues that don't match our pattern
# (e.g., pykickstart "Validation error:") - treat these as errors
if all_issues:
sys.exit(1)
else:
print("All recipes validated successfully")
sys.exit(0)
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/fedora-43-mirrors.ks
+16 -16
View File
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/fedora-43-mirrors.ks
+16 -16
View File
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/fedora-43-mirrors.ks
+16 -16
View File
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/fedora-43-mirrors.ks
+16 -16
View File
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/fedora-43-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/fedora-43-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/fedora-43-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/fedora-43-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/rawhide-mirrors.ks
+16 -16
View File
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/rawhide-mirrors.ks
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/rawhide-mirrors.ks
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/rawhide-mirrors.ks
@@ -7,19 +7,19 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/storage/encrypted.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/storage/encrypted.ks
%include fragments/repo/rawhide-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/rawhide-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/rawhide-mirrors.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/rawhide-mirrors.ks
@@ -7,20 +7,20 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/packages/virtual-machine-manager/packages.ks
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/hypervisor/amdcpu.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/packages/virtual-machine-manager/packages.ks
%include fragments/packages/virtual-machine-manager/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/hypervisor/amdcpu.ks
@@ -7,20 +7,20 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/desktop/gnome/config.ks
%ksappend fragments/desktop/gnome/packages.ks
%ksappend fragments/desktop/gnome/post-scripts.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/packages/virtual-machine-manager/packages.ks
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/hypervisor/intelcpu.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/desktop/gnome/config.ks
%include fragments/desktop/gnome/packages.ks
%include fragments/desktop/gnome/post-scripts.ks
%include fragments/bootloader/grub.ks
%include fragments/packages/virtual-machine-manager/packages.ks
%include fragments/packages/virtual-machine-manager/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/hypervisor/intelcpu.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/hypervisor/base/packages.ks
%ksappend fragments/hypervisor/base/services.ks
%ksappend fragments/hypervisor/base/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/hypervisor/amdcpu.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/bootloader/grub.ks
%include fragments/hypervisor/base/packages.ks
%include fragments/hypervisor/base/services.ks
%include fragments/hypervisor/base/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/hypervisor/amdcpu.ks
+15 -15
View File
@@ -7,18 +7,18 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/hypervisor/base/packages.ks
%ksappend fragments/hypervisor/base/services.ks
%ksappend fragments/hypervisor/base/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/hypervisor/intelcpu.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/bootloader/grub.ks
%include fragments/hypervisor/base/packages.ks
%include fragments/hypervisor/base/services.ks
%include fragments/hypervisor/base/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/hypervisor/intelcpu.ks
+12 -12
View File
@@ -7,15 +7,15 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/fedora-43-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/fedora-43-mirrors.ks
+12 -12
View File
@@ -7,15 +7,15 @@
# An install recipe for desktop, server, or hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.ks
%include fragments/storage/standard.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/bootloader/grub.ks
%include fragments/initial-setup/server/config.ks
%include fragments/core/security/enabled.ks
%include fragments/repo/rawhide-mirrors.ks
+10 -10
View File
@@ -7,13 +7,13 @@
# A live recipe for live-desktop or live-server
%ksappend fragments/live/core/base.ks
%ksappend fragments/live/core/storage.ks
%ksappend fragments/live/core/bootloader/grub.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/live/core/packages.ks
%ksappend fragments/live/post/base.ks
%ksappend fragments/live/post/session.ks
%ksappend fragments/repo/rpmfusion-nonfree.ks
%include fragments/live/core/base.ks
%include fragments/live/core/storage.ks
%include fragments/live/core/bootloader/grub.ks
%include fragments/core/locale.ks
%include fragments/core/services.ks
%include fragments/core/network.ks
%include fragments/live/core/packages.ks
%include fragments/live/post/base.ks
%include fragments/live/post/session.ks
%include fragments/repo/rpmfusion-nonfree.ks
+10 -10
View File
@@ -7,13 +7,13 @@
# A live recipe for live-desktop or live-server
%ksappend fragments/live/core/base.ks
%ksappend fragments/live/core/storage.ks
%ksappend fragments/live/core/bootloader/grub.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/live/core/packages.ks
%ksappend fragments/live/post/base.ks
%ksappend fragments/live/post/session.ks
%ksappend fragments/repo/rpmfusion-nonfree.ks
%include fragments/live/core/base.ks
%include fragments/live/core/storage.ks
%include fragments/live/core/bootloader/grub.ks
%include fragments/core/locale.ks
%include fragments/core/services.ks
%include fragments/core/network.ks
%include fragments/live/core/packages.ks
%include fragments/live/post/base.ks
%include fragments/live/post/session.ks
%include fragments/repo/rpmfusion-nonfree.ks
@@ -7,18 +7,18 @@
# A recipe for a desktop hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/packages/virtual-machine-manager/packages.ks
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/hypervisor/intelcpu.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.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/packages/virtual-machine-manager/packages.ks
%include fragments/packages/virtual-machine-manager/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/hypervisor/intelcpu.ks
%include fragments/repo/rawhide-mirrors.ks
@@ -7,18 +7,18 @@
# A recipe for a desktop hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/packages/virtual-machine-manager/packages.ks
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/hypervisor/intelcpu.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.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/packages/virtual-machine-manager/packages.ks
%include fragments/packages/virtual-machine-manager/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/hypervisor/intelcpu.ks
%include fragments/repo/rawhide-mirrors.ks
@@ -7,18 +7,18 @@
# A recipe for a desktop hypervisor
%ksappend fragments/core/base.ks
%ksappend fragments/storage/standard.ks
%ksappend fragments/bootloader/grub.ks
%ksappend fragments/core/locale.ks
%ksappend fragments/core/services.ks
%ksappend fragments/core/network.ks
%ksappend fragments/packages/core-group.ks
%ksappend fragments/packages/fedora-remix.ks
%ksappend fragments/packages/hand-picked.ks
%ksappend fragments/core/security/enabled.ks
%ksappend fragments/packages/virtual-machine-manager/packages.ks
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
%ksappend fragments/initial-setup/server/config.ks
%ksappend fragments/hypervisor/intelcpu.ks
%ksappend fragments/repo/rawhide-mirrors.ks
%include fragments/core/base.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/packages/virtual-machine-manager/packages.ks
%include fragments/packages/virtual-machine-manager/post-scripts.ks
%include fragments/initial-setup/server/config.ks
%include fragments/hypervisor/intelcpu.ks
%include fragments/repo/rawhide-mirrors.ks
+14 -14
View File
@@ -7,17 +7,17 @@
# A recipe for a live desktop
%ksappend fragments/shared/live/core/base.ks
%ksappend fragments/shared/live/core/storage.ks
%ksappend fragments/platform/generic-rawhide/bootloader/grub.ks
%ksappend fragments/shared/core/locale.ks
%ksappend fragments/shared/core/services.ks
%ksappend fragments/shared/core/network.ks
%ksappend fragments/shared/live/core/packages.ks
%ksappend fragments/shared/live/post/base.ks
%ksappend fragments/shared/live/post/session.ks
%ksappend fragments/shared/initial-setup/desktop/config.ks
%ksappend fragments/shared/desktop/gnome/config.ks
%ksappend fragments/shared/desktop/gnome/packages.ks
%ksappend fragments/shared/desktop/gnome/post-scripts.ks
%ksappend fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
%include fragments/shared/live/core/base.ks
%include fragments/shared/live/core/storage.ks
%include fragments/platform/generic-rawhide/bootloader/grub.ks
%include fragments/shared/core/locale.ks
%include fragments/shared/core/services.ks
%include fragments/shared/core/network.ks
%include fragments/shared/live/core/packages.ks
%include fragments/shared/live/post/base.ks
%include fragments/shared/live/post/session.ks
%include fragments/shared/initial-setup/desktop/config.ks
%include fragments/shared/desktop/gnome/config.ks
%include fragments/shared/desktop/gnome/packages.ks
%include fragments/shared/desktop/gnome/post-scripts.ks
%include fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
+11 -11
View File
@@ -7,14 +7,14 @@
# A recipe for a live server
%ksappend fragments/shared/live/core/base.ks
%ksappend fragments/shared/live/core/storage.ks
%ksappend fragments/platform/generic-rawhide/bootloader/grub.ks
%ksappend fragments/shared/core/locale.ks
%ksappend fragments/shared/core/services.ks
%ksappend fragments/shared/core/network.ks
%ksappend fragments/shared/live/core/packages.ks
%ksappend fragments/shared/live/post/base.ks
%ksappend fragments/shared/live/post/session.ks
%ksappend fragments/shared/initial-setup/server/config.ks
%ksappend fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
%include fragments/shared/live/core/base.ks
%include fragments/shared/live/core/storage.ks
%include fragments/platform/generic-rawhide/bootloader/grub.ks
%include fragments/shared/core/locale.ks
%include fragments/shared/core/services.ks
%include fragments/shared/core/network.ks
%include fragments/shared/live/core/packages.ks
%include fragments/shared/live/post/base.ks
%include fragments/shared/live/post/session.ks
%include fragments/shared/initial-setup/server/config.ks
%include fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
+11 -11
View File
@@ -7,14 +7,14 @@
# A recipe for a virtual desktop
%ksappend fragments/shared/core/base.ks
%ksappend fragments/shared/storage/standard.ks
%ksappend fragments/platform/generic-43/bootloader/grub.ks
%ksappend fragments/shared/core/locale.ks
%ksappend fragments/shared/core/services.ks
%ksappend fragments/shared/core/network.ks
%ksappend fragments/shared/packages/core-group.ks
%ksappend fragments/shared/packages/fedora-remix.ks
%ksappend fragments/shared/packages/hand-picked.ks
%ksappend fragments/shared/initial-setup/server/config.ks
%ksappend fragments/platform/generic-43/repo/fedora-mirrors.ks
%include fragments/shared/core/base.ks
%include fragments/shared/storage/standard.ks
%include fragments/platform/generic-43/bootloader/grub.ks
%include fragments/shared/core/locale.ks
%include fragments/shared/core/services.ks
%include fragments/shared/core/network.ks
%include fragments/shared/packages/core-group.ks
%include fragments/shared/packages/fedora-remix.ks
%include fragments/shared/packages/hand-picked.ks
%include fragments/shared/initial-setup/server/config.ks
%include fragments/platform/generic-43/repo/fedora-mirrors.ks
+11 -11
View File
@@ -7,14 +7,14 @@
# A recipe for a virtual server
%ksappend fragments/shared/core/base.ks
%ksappend fragments/shared/storage/standard.ks
%ksappend fragments/platform/generic-43/bootloader/grub.ks
%ksappend fragments/shared/core/locale.ks
%ksappend fragments/shared/core/services.ks
%ksappend fragments/shared/core/network.ks
%ksappend fragments/shared/packages/core-group.ks
%ksappend fragments/shared/packages/fedora-remix.ks
%ksappend fragments/shared/packages/hand-picked.ks
%ksappend fragments/shared/initial-setup/server/config.ks
%ksappend fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
%include fragments/shared/core/base.ks
%include fragments/shared/storage/standard.ks
%include fragments/platform/generic-43/bootloader/grub.ks
%include fragments/shared/core/locale.ks
%include fragments/shared/core/services.ks
%include fragments/shared/core/network.ks
%include fragments/shared/packages/core-group.ks
%include fragments/shared/packages/fedora-remix.ks
%include fragments/shared/packages/hand-picked.ks
%include fragments/shared/initial-setup/server/config.ks
%include fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
+1 -1
View File
@@ -43,7 +43,7 @@ def test_validate_all_generated_recipes():
for recipe_file in RECIPE_DIR.glob('*.cfg'):
content = recipe_file.read_text()
assert len(content) > 0, f"Recipe {recipe_file.name} is empty"
assert '%ksappend' in content, f"Recipe {recipe_file.name} missing %ksappend"
assert '%include' in content, f"Recipe {recipe_file.name} missing %include"
def test_make_targets():
+17 -17
View File
@@ -60,10 +60,10 @@ class TestRecipeGenerator:
storage='standard',
security='secure')
assert '# An install recipe for desktop, server, or hypervisor' in content
assert '%ksappend fragments/core/base.ks' in content
assert '%ksappend fragments/desktop/gnome/packages.ks' in content
assert '%ksappend fragments/repo/fedora-43-mirrors.ks' in content
assert '%ksappend fragments/core/security/enabled.ks' in content
assert '%include fragments/core/base.ks' in content
assert '%include fragments/desktop/gnome/packages.ks' in content
assert '%include fragments/repo/fedora-43-mirrors.ks' in content
assert '%include fragments/core/security/enabled.ks' in content
def test_generate_virtual_desktop_encrypted(self):
"""Test generating encrypted desktop recipe."""
@@ -71,7 +71,7 @@ class TestRecipeGenerator:
desktop='gnome',
storage='encrypted',
security='secure')
assert '%ksappend fragments/storage/encrypted.ks' in content
assert '%include fragments/storage/encrypted.ks' in content
def test_generate_virtual_desktop_labwc(self):
"""Test generating LabWC desktop recipe."""
@@ -79,8 +79,8 @@ class TestRecipeGenerator:
desktop='labwc',
storage='standard',
security='secure')
assert '%ksappend fragments/desktop/labwc/config.ks' in content
assert '%ksappend fragments/desktop/gnome/packages.ks' not in content
assert '%include fragments/desktop/labwc/config.ks' in content
assert '%include fragments/desktop/gnome/packages.ks' not in content
def test_generate_virtual_desktop_devel(self):
"""Test generating development mode desktop recipe."""
@@ -88,7 +88,7 @@ class TestRecipeGenerator:
desktop='gnome',
storage='standard',
security='off')
assert '%ksappend fragments/core/security/disabled.ks' in content
assert '%include fragments/core/security/disabled.ks' in content
def test_generate_virtual_server(self):
"""Test generating server recipe."""
@@ -96,7 +96,7 @@ class TestRecipeGenerator:
initial_setup='server',
security='secure')
assert '# An install recipe for desktop, server, or hypervisor' in content
assert '%ksappend fragments/initial-setup/server/config.ks' in content
assert '%include fragments/initial-setup/server/config.ks' in content
def test_generate_desktop_hypervisor_amd(self):
"""Test generating AMD CPU hypervisor recipe."""
@@ -105,8 +105,8 @@ class TestRecipeGenerator:
hypervisor='base',
hypervisor_type='amdcpu',
security='secure')
assert '%ksappend fragments/hypervisor/amdcpu.ks' in content
assert '%ksappend fragments/hypervisor/intelcpu.ks' not in content
assert '%include fragments/hypervisor/amdcpu.ks' in content
assert '%include fragments/hypervisor/intelcpu.ks' not in content
def test_generate_desktop_hypervisor_intel_gpu(self):
"""Test generating Intel CPU+GPU hypervisor recipe."""
@@ -115,7 +115,7 @@ class TestRecipeGenerator:
hypervisor='base',
hypervisor_type='intelcpu',
security='secure')
assert '%ksappend fragments/hypervisor/intelcpu.ks' in content
assert '%include fragments/hypervisor/intelcpu.ks' in content
def test_generate_live_desktop(self):
"""Test generating live desktop recipe."""
@@ -123,15 +123,15 @@ class TestRecipeGenerator:
desktop='gnome',
security='secure')
assert '# A live recipe for live-desktop or live-server' in content
assert '%ksappend fragments/live/core/base.ks' in content
assert '%ksappend fragments/live/core/storage.ks' in content
assert '%include fragments/live/core/base.ks' in content
assert '%include fragments/live/core/storage.ks' in content
def test_generate_live_server(self):
"""Test generating live server recipe."""
content = self.generator.generate_recipe('live', 'rawhide',
security='secure')
assert '# A live recipe for live-desktop or live-server' in content
assert '%ksappend fragments/live/core/base.ks' in content
assert '%include fragments/live/core/base.ks' in content
def test_no_duplicate_includes(self):
"""Test that duplicate includes are prevented."""
@@ -140,9 +140,9 @@ class TestRecipeGenerator:
hypervisor='base',
hypervisor_type='intelcpu',
security='secure')
includes = [line for line in content.split('\n') if line.startswith('%ksappend')]
includes = [line for line in content.split('\n') if line.startswith('%include')]
paths = [line.split()[1] for line in includes]
assert len(paths) == len(set(paths)), "Found duplicate %ksappend entries"
assert len(paths) == len(set(paths)), "Found duplicate %include entries"
def test_missing_ingredient_detection(self):
"""Test that missing fragments are detected."""