48 Commits

Author SHA1 Message Date
Lukas Greve
9400b239f8 test new ingredient.
Now not working. The idea would be to deploy a system from a squashfs.img image, to avoid having to redownload all packages
2025-11-21 11:04:41 +01:00
Lukas Greve
740557564d test new workflow to release ISO 2025-11-17 16:36:53 +01:00
Lukas Greve
f612842e50 explicitly mention fedora 43 2025-11-13 21:28:28 +01:00
Lukas Greve
37c8c925dd updated recipes version 2025-11-13 20:31:05 +01:00
Lukas Greve
b721ec7b59 bump to fedora 43 2025-11-13 20:30:11 +01:00
Lukas Greve
ab9aa58eb2 fix what looks like an embarassing regression
we need to specify arch and version, or have env  variable somehwhere do it for us. As of now, it seems safer to hardcode it.
2025-11-13 20:29:55 +01:00
Lukas Greve
7fced10c52 switch local to Zurich 2025-11-13 20:05:22 +01:00
Lukas Greve
59c82dd9c3 improve comment 2025-11-13 20:05:07 +01:00
Lukas Greve
461936a841 add some comment 2025-11-13 20:04:49 +01:00
Lukas Greve
7c3571f8e6 update comment to match reality 2025-10-16 12:08:39 +02:00
Lukas Greve
7ffc71043d reverting back to GRUB 2025-10-15 14:47:02 +02:00
Lukas Greve
a8dcf4011c moving to no-secure-boot, and more generally a simpler virtual machine definition 2025-10-15 14:46:40 +02:00
Lukas Greve
28b3e927a6 fix comment 2025-10-10 12:58:26 +02:00
Lukas Greve
06caf5b3c7 increase size of efi partition and explicitly list mbr for the location of the bootloader 2025-10-10 12:58:09 +02:00
Lukas Greve
5da0303cf5 add Spice and listen to all interfaces by default 2025-10-10 12:07:52 +02:00
Lukas Greve
de48f21335 remove grub conf 2025-10-07 15:35:07 +02:00
Lukas Greve
7ae6714da1 remove grub conf 2025-10-07 15:34:56 +02:00
Lukas Greve
246fba3efa switch to systemd-boot 2025-09-07 20:17:05 +02:00
Lukas Greve
2e56372e6d new systemd-boot ingredient for live systems 2025-09-07 20:15:20 +02:00
Lukas Greve
515950daad move to root directory 2025-09-05 18:04:55 +02:00
Lukas Greve
1fecc5ea1b adjust list of packages
packages related to libvirt are explicitly picked
2025-09-05 18:04:01 +02:00
Lukas Greve
8c2b118c8e add curl 2025-07-13 20:53:28 +02:00
Lukas Greve
dd41bcb66b refine the package selection 2025-07-13 20:53:21 +02:00
Lukas Greve
e9e70c6ce3 add gitignore file, excluding aider 2025-07-13 20:53:09 +02:00
Lukas Greve
6a043dcd3d move and rename list of ingredients 2025-07-01 21:28:50 +02:00
Lukas Greve
cf3ff84a6d new script to install prerequisites on common Linux distribution 2025-07-01 21:28:33 +02:00
Lukas Greve
46bbe1d5e9 add a iommu device in the automated VM deployment and set memballon to disable 2025-06-17 14:51:14 +02:00
Lukas Greve
b98f41512d restore variables for setting specific path and networking for session and system URI 2025-06-15 17:14:31 +02:00
Lukas Greve
8c96623ad7 make selection or URI options for qemu more robust. Allow the user to just use Enter
Only allow selection of files that starts with virtual (this script is only used to deploy virtual machine)

Reworked some comments
2025-06-15 14:32:46 +02:00
Lukas Greve
358e67a041 remove whitespace 2025-06-15 14:31:00 +02:00
Lukas Greve
3b4724cf86 Removing information to the user when script goes through. 2025-06-15 14:30:48 +02:00
Lukas Greve
684a49af14 no need to echo when it succeeds 2025-06-15 14:30:00 +02:00
Lukas Greve
e1207278a3 Add possibility to pick URI, from session to system 2025-06-08 11:51:15 +02:00
Lukas Greve
00f40553b5 Document th script 2025-06-04 20:00:08 +02:00
Lukas Greve
0316eff669 rename file 2025-05-29 17:50:29 +02:00
Lukas Greve
c458ab4b5c add ability to pick memory and disk size 2025-05-29 17:49:30 +02:00
Lukas Greve
02f2a131bf add pipewire and gnome-control-center to desktop editions 2025-05-29 17:48:59 +02:00
Lukas Greve
6cfad2d5eb move file 2025-05-29 17:48:37 +02:00
Lukas Greve
5c7a5713b9 bump hardware requirements, change default network, correct paths 2025-05-22 18:14:47 +02:00
Lukas Greve
63456e0e16 bump hardware requirements 2025-05-22 18:10:43 +02:00
Lukas Greve
01326af9d8 fix bug related to path
the extra-args should refer to the file, irrespective of its location.
2025-05-22 16:48:07 +02:00
Lukas Greve
be2f5cf7a2 rename code of conduct 2025-05-21 18:18:50 +02:00
Lukas Greve
66773b8e23 change where logs are stored 2025-05-21 17:50:58 +02:00
Lukas Greve
4bd6294efe new dish 2025-05-21 17:50:40 +02:00
Lukas Greve
7d9af8f39e rename code of conduct file for consistency 2025-05-21 17:40:51 +02:00
Lukas Greve
8c1c11fda7 add reference to the script 2025-05-21 17:36:12 +02:00
Lukas Greve
3fafb78838 new script / wrapper around virt-install 2025-05-21 17:35:57 +02:00
Lukas Greve
1dfc10b5c9 Add requirements 2025-05-19 19:59:01 +02:00
51 changed files with 868 additions and 195 deletions

View File

@@ -0,0 +1,76 @@
name: release
on:
push:
branches:
- main # Or your desired branch
jobs:
checkout:
runs-on: fedora-cloud-42
defaults:
run:
shell: bash
container:
image: git.phyllo.me/devops/fedora-runner-image:latest
steps:
- uses: https://git.phyllo.me/devops/checkout@v5
with:
fetch-depth: 0
- name: Initialize mock
run: |
mock -r fedora-43-x86_64 --init
- name: Install required packages
run: |
mock -r fedora-43-x86_64 --install lorax-lmc-novirt vim-minimal pykickstart livecd-tools
- name: Copy configuration file to mock
run: |
mock -r fedora-43-x86_64 --copyin dishes/live-server.cfg /builddir
- name: Build ISO with livemedia-creator
run: |
mock -r fedora-43-x86_64 --shell --enable-network --isolation=simple << 'EOF'
cd /builddir
livemedia-creator --ks live-server.cfg --no-virt --resultdir /var/lmc --project live-desktop-hypervisor --make-iso --volid live-desktop-hypervisor --iso-only --iso-name server-43.iso --releasever 43 --macboot
EOF
- name: Upload ISO as artifact
uses: actions/upload-artifact@v3
with:
name: server-43.iso
path: /var/lmc/server-43.iso
if-no-files-found: error
- name: Create Release
if: github.ref == 'refs/heads/main'
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: iso-build-${{ github.run_number }}
release_name: ISO Build ${{ github.run_number }}
body: |
Build artifact from workflow run ${{ github.run_number }}
ISO file: server-43.iso
draft: false
prerelease: false
- name: Upload ISO to Release
if: github.ref == 'refs/heads/main'
uses: actions/upload-release-asset@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: /var/lmc/server-43.iso
asset_name: server-43.iso
asset_content_type: application/x-iso9660-image
- name: Cleanup mock environment
if: always()
run: |
mock -r fedora-43-x86_64 --clean

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.aider*

View File

@@ -2,6 +2,41 @@
[Phyllome OS](https://wiki.phyllo.me/phyllomeos/context) uses the [kickstart installation method](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-1-introduction) to deploy itself to a specific target computer or virtual machine by means of kickstart files. [Phyllome OS](https://wiki.phyllo.me/phyllomeos/context) uses the [kickstart installation method](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-1-introduction) to deploy itself to a specific target computer or virtual machine by means of kickstart files.
Provided that some dependencies are met (`libvirt` is running on your computer, QEMU is installed, etc), one could run the following script to deploy virtual machines, including Phyllome OS itself.
- Make the script executable:
```
chmod +x deploy-vm.sh
```
- Execute it and pick `virtual-desktop-hypervisor` when prompted:
```
./deploy-vm.sh
Executing: ./scripts/core-count.sh
System has more than 2 core (nproc --all: 6).
[...]
10. virtual-desktop-hypervisor
[...]
Enter the number of the file you want to select: 10
You selected: virtual-desktop-hypervisor
Starting install...
Retrieving 'vmlinuz' | 16 MB 00:00:00
Retrieving 'initrd.img' | 161 MB 00:00:05
Allocating 'virtinst-n0km88yy-vmlinuz' | 16 MB 00:00:00
Transferring 'virtinst-n0km88yy-vmlinuz' | 16 MB 00:00:00
Allocating 'virtinst-qxr2jxcb-initrd.img' | 161 MB 00:00:00
Transferring 'virtinst-qxr2jxcb-initrd.img' | 161 MB 00:00:00
Allocating 'virtual-desktop-hypervisor.img' | 10 GB 00:00:00
Creating domain...
```
After a successfull installation, the virtual machine will shutdown and be ready to use when powered on again.
## Repository structure
This repository contains such files broken down as: This repository contains such files broken down as:
* `ingredients`🥑 🥥 🥭 🥝 🥦 🥬 🥒 🧄: the basic building blocks for assembling Phyllome OS and other derivatives. * `ingredients`🥑 🥥 🥭 🥝 🥦 🥬 🥒 🧄: the basic building blocks for assembling Phyllome OS and other derivatives.
@@ -18,6 +53,13 @@ Each ingredient represents a feature or a set of integrated features, such as a
Using a pull request, you can suggest a modification to an existing ingredient or create a new ingredient from scratch. Using a pull request, you can suggest a modification to an existing ingredient or create a new ingredient from scratch.
### Requirements
- `qemu`
- `libvirt`
- `virt-install`
- `pykickstart`
### Example 1: add a new package and include it into a recipe ### Example 1: add a new package and include it into a recipe
- Add [Luanti](https://www.luanti.org/), a free and open-source sandbox video game engine formerly known as Minetest, as a standalone ingredient, using the `echo` command - Add [Luanti](https://www.luanti.org/), a free and open-source sandbox video game engine formerly known as Minetest, as a standalone ingredient, using the `echo` command
@@ -33,7 +75,7 @@ luanti # Multiplayer infinite-world block sandbox with survival mode
Instead of creating a recipe from scratch, let's make a copy of the `virtual-desktop.cfg` recipe, which provide a Desktop environment necessary for *luanti* to function Instead of creating a recipe from scratch, let's make a copy of the `virtual-desktop.cfg` recipe, which provide a Desktop environment necessary for *luanti* to function
``` ```
$ cp recipes/virtual-desktop.cfg recipes/virtual-desktop-luanti.cfg cp recipes/virtual-desktop.cfg recipes/virtual-desktop-luanti.cfg
``` ```
- Add the extra ingredient to the new recipe: - Add the extra ingredient to the new recipe:
@@ -47,52 +89,35 @@ echo "%include ../ingredients/extra-luanti.cfg # Sandbox video game engine" >> r
- Prepare the dish by following the recipe, a process called 'flattening' - Prepare the dish by following the recipe, a process called 'flattening'
``` ```
$ ksflatten -c recipes/virtual-desktop-luanti.cfg -o dishes/virtual-desktop-luanti.cfg ksflatten -c recipes/virtual-desktop-luanti.cfg -o dishes/virtual-desktop-luanti.cfg
``` ```
> If any errors are detected, go back and fix them. > If any errors are detected, go back and fix them.
It is time to test the new dish! It is time to test the new dish!
- Navigate inside the `dishes` folder:
```
$ cd dishes/
```
#### Kickstart #### Kickstart
* You can then kickstart your own installation: - Make the `deploy-vm.sh` script executable
``` ```
# virt-install \ chmod +x deploy-vm.sh
--connect qemu:///system \ ```
--metadata description="Virtual desktop with Luanti" \
--os-variant fedora41 \ - Execute the script
--virt-type kvm \
--arch x86_64 \ ```
--machine q35 \ ./deploy-vm.sh
--name virtual-desktop-luanti \ ```
--boot uefi \
--cpu host-model,topology.sockets=1,topology.cores=2,topology.threads=1 \ - Select the new dish, *virtual-desktop-luanti*
--vcpus 2 \
--memory 4096 \ ```
--video virtio \ [...]
--graphics spice,listen=none \ Available files:
--channel spicevmc \ 1. desktop-hypervisor-amdcpu
--autoconsole none \ [...]
--console pty,target.type=virtio \ 14. virtual-desktop-luanti
--sound none \
--network type=user,model=virtio \
--controller type=virtio-serial \
--controller type=usb,model=none \
--controller type=scsi,model=virtio-scsi \
--input type=keyboard,bus=virtio \
--input type=tablet,bus=virtio \
--rng /dev/urandom,model=virtio \
--disk path=/var/lib/libvirt/images/virtual-desktop-luanti.img,format=raw,bus=virtio,cache=writeback,size=10 \
--location=https://download.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os/ \
--initrd-inject virtual-desktop-luanti.cfg --extra-args "inst.ks=file:virtual-desktop-luanti.cfg"
``` ```
- When the installation is done, the machine will shut down - When the installation is done, the machine will shut down

27
deploy.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
# Function to execute a script
execute_script() {
local script_to_execute="$1"
echo "Executing: $script_to_execute"
"$script_to_execute" || {
echo "Script failed: $script_to_execute"
return 1 # Indicate failure
}
return 0 # Indicate success
}
# Array of scripts
scripts=(
"./scripts/install-prerequisites-on-linux.sh"
"./scripts/core-count.sh"
"./scripts/system-memory.sh"
"./scripts/deploy-distro.sh"
)
# Iterate through the scripts and execute them
for script in "${scripts[@]}"; do
execute_script "$script"
done
echo "All scripts executed."

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -223,7 +222,7 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
%end %end
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-amdcpu.log %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. sed -i 's/\(quiet\)/\1 iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB.
@@ -265,10 +264,10 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
guestfs-tools
hostname hostname
intel-audio-firmware intel-audio-firmware
intel-gpu-firmware intel-gpu-firmware
@@ -282,11 +281,22 @@ kbd
kernel kernel
less less
libertas-firmware libertas-firmware
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db man-db
mesa-dri-drivers mesa-dri-drivers
mozilla-ublock-origin.noarch mozilla-ublock-origin.noarch
@@ -299,11 +309,13 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-kvm qemu-kvm
realtek-firmware realtek-firmware
rootfiles rootfiles
@@ -322,7 +334,6 @@ util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-manager virt-manager
virt-top
wget wget
wpa_supplicant wpa_supplicant
zram-generator-defaults zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -223,7 +222,7 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
%end %end
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-intelcpu.log %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. 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.
@@ -275,10 +274,10 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
guestfs-tools
hostname hostname
intel-audio-firmware intel-audio-firmware
intel-gpu-firmware intel-gpu-firmware
@@ -292,11 +291,22 @@ kbd
kernel kernel
less less
libertas-firmware libertas-firmware
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db man-db
mesa-dri-drivers mesa-dri-drivers
mozilla-ublock-origin.noarch mozilla-ublock-origin.noarch
@@ -309,11 +319,13 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-kvm qemu-kvm
realtek-firmware realtek-firmware
rootfiles rootfiles
@@ -332,7 +344,6 @@ util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-manager virt-manager
virt-top
wget wget
wpa_supplicant wpa_supplicant
zram-generator-defaults zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -223,7 +222,7 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
%end %end
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-intelcpu.log %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. 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.
@@ -265,10 +264,10 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
guestfs-tools
hostname hostname
intel-audio-firmware intel-audio-firmware
intel-gpu-firmware intel-gpu-firmware
@@ -282,11 +281,22 @@ kbd
kernel kernel
less less
libertas-firmware libertas-firmware
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db man-db
mesa-dri-drivers mesa-dri-drivers
mozilla-ublock-origin.noarch mozilla-ublock-origin.noarch
@@ -299,11 +309,13 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-kvm qemu-kvm
realtek-firmware realtek-firmware
rootfiles rootfiles
@@ -322,7 +334,6 @@ util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-manager virt-manager
virt-top
wget wget
wpa_supplicant wpa_supplicant
zram-generator-defaults zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -257,10 +256,10 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
guestfs-tools
hostname hostname
intel-audio-firmware intel-audio-firmware
intel-gpu-firmware intel-gpu-firmware
@@ -274,11 +273,22 @@ kbd
kernel kernel
less less
libertas-firmware libertas-firmware
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db man-db
mesa-dri-drivers mesa-dri-drivers
mozilla-ublock-origin.noarch mozilla-ublock-origin.noarch
@@ -291,11 +301,13 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-kvm qemu-kvm
realtek-firmware realtek-firmware
rootfiles rootfiles
@@ -314,7 +326,6 @@ util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-manager virt-manager
virt-top
wget wget
wpa_supplicant wpa_supplicant
zram-generator-defaults zram-generator-defaults

223
dishes/desktop.cfg Normal file
View File

@@ -0,0 +1,223 @@
# Generated by pykickstart v3.62
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --disabled
# 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 --iscrypted --lock locked
# SELinux configuration
selinux --disabled
# 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=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
%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
%end
%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log
truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
## Append lines to existing vendor.conf file, so that options are skipped upon reboot
cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
[pages]
skip=privacy
[goa]
providers=local-first!
EOF
%end
%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
NetworkManager
NetworkManager-config-connectivity-fedora
NetworkManager-wifi
alsa-sof-firmware
amd-gpu-firmware
atheros-firmware
audit
b43-fwcutter
b43-openfwwf
basesystem
bash
brcmfmac-firmware
cirrus-audio-firmware
coreutils
curl
dejavu-sans-mono-fonts
dhcp-client
dnf5
dnf5-plugins
dracut
dracut-config-rescue
e2fsprogs
fedora-remix-logos
filesystem
firefox
firewalld
fwupd
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
hostname
intel-audio-firmware
intel-gpu-firmware
intel-vsc-firmware
iproute
iputils
iwlegacy-firmware
iwlwifi-dvm-firmware
iwlwifi-mvm-firmware
kbd
kernel
less
libertas-firmware
libusb
man-db
mesa-dri-drivers
mozilla-ublock-origin.noarch
mt7xxx-firmware
nano
ncurses
nvidia-gpu-firmware
nxpwireless-firmware
openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
realtek-firmware
rootfiles
rpm
selinux-policy-targeted
setup
shadow-utils
sssd-common
sssd-kcm
sudo
systemd
systemd-resolved
tiwilink-firmware
usbutils
util-linux
vim-minimal
wget
wpa_supplicant
zram-generator-defaults
-gnome-tour
%end

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -40,7 +40,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -317,10 +316,10 @@ generic-release-notes
glibc glibc
glibc-all-langpacks glibc-all-langpacks
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
guestfs-tools
hostname hostname
intel-audio-firmware intel-audio-firmware
intel-gpu-firmware intel-gpu-firmware
@@ -336,11 +335,22 @@ kernel-modules
kernel-modules-extra kernel-modules-extra
less less
libertas-firmware libertas-firmware
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
livesys-scripts livesys-scripts
man-db man-db
mesa-dri-drivers mesa-dri-drivers
@@ -354,11 +364,13 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-kvm qemu-kvm
realtek-firmware realtek-firmware
rootfiles rootfiles
@@ -377,7 +389,6 @@ util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-manager virt-manager
virt-top
wget wget
wpa_supplicant wpa_supplicant
zram-generator-defaults zram-generator-defaults

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved" services --enabled="NetworkManager,systemd-resolved"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -40,7 +40,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -224,6 +223,7 @@ generic-release-notes
glibc glibc
glibc-all-langpacks glibc-all-langpacks
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
@@ -256,6 +256,9 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration # System bootloader configuration
bootloader --location=none --timeout=1 bootloader --location=none --timeout=1
# Clear the Master Boot Record # Clear the Master Boot Record
@@ -38,7 +38,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -165,7 +164,6 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
glibc-all-langpacks glibc-all-langpacks
guestfs-tools
hostname hostname
initial-setup initial-setup
intel-audio-firmware intel-audio-firmware
@@ -182,11 +180,22 @@ kernel-modules
kernel-modules-extra kernel-modules-extra
less less
libertas-firmware libertas-firmware
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
livesys-scripts livesys-scripts
man-db man-db
mt7xxx-firmware mt7xxx-firmware
@@ -202,7 +211,6 @@ plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-kvm qemu-kvm
realtek-firmware realtek-firmware
rootfiles rootfiles
@@ -220,7 +228,6 @@ usbutils
util-linux util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-top
wget wget
zram-generator-defaults zram-generator-defaults

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved" services --enabled="NetworkManager,systemd-resolved"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration # System bootloader configuration
bootloader --location=none --timeout=1 bootloader --location=none --timeout=1
# Clear the Master Boot Record # Clear the Master Boot Record
@@ -38,7 +38,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -250,21 +249,32 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
guestfs-tools
hostname hostname
iproute iproute
iputils iputils
kbd kbd
kernel kernel
less less
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db man-db
mesa-dri-drivers mesa-dri-drivers
mozilla-ublock-origin.noarch mozilla-ublock-origin.noarch
@@ -274,11 +284,13 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-guest-agent qemu-guest-agent
qemu-kvm qemu-kvm
rootfiles rootfiles
@@ -297,7 +309,6 @@ util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-manager virt-manager
virt-top
wget wget
wpa_supplicant wpa_supplicant
zram-generator-defaults zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved" services --enabled="NetworkManager,systemd-resolved"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information # X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration # System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -157,6 +156,7 @@ generic-release-common
generic-release-notes generic-release-notes
glibc glibc
gnome-backgrounds.noarch gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup gnome-initial-setup
gnome-shell gnome-shell
gnome-terminal gnome-terminal
@@ -176,6 +176,9 @@ openssh-clients
openssh-server openssh-server
parted parted
pciutils pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,17 +23,17 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved" services --enabled="NetworkManager,systemd-resolved"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration # System bootloader configuration
bootloader --location=mbr --timeout=1 --sdboot bootloader --location=mbr --timeout=1
# Clear the Master Boot Record # Clear the Master Boot Record
zerombr zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -41,7 +41,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved,libvirtd" services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration # System bootloader configuration
bootloader --location=mbr --timeout=1 bootloader --location=mbr --timeout=1
# Clear the Master Boot Record # Clear the Master Boot Record
@@ -33,7 +33,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -41,7 +41,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end
@@ -98,7 +97,6 @@ generic-release
generic-release-common generic-release-common
generic-release-notes generic-release-notes
glibc glibc
guestfs-tools
hostname hostname
initial-setup initial-setup
iproute iproute
@@ -106,11 +104,22 @@ iputils
kbd kbd
kernel kernel
less less
libguestfs-tools
libusb libusb
libvirt libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network 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-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db man-db
nano nano
ncurses ncurses
@@ -122,7 +131,6 @@ plymouth
policycoreutils policycoreutils
prefixdevname prefixdevname
procps-ng procps-ng
python3-libguestfs
qemu-guest-agent qemu-guest-agent
qemu-kvm qemu-kvm
rootfiles rootfiles
@@ -140,7 +148,6 @@ usbutils
util-linux util-linux
vim-minimal vim-minimal
virt-install virt-install
virt-top
wget wget
zram-generator-defaults zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation # Shutdown after installation
shutdown shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch 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-f$releasever&arch=$basearch repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password # Root password
rootpw --iscrypted --lock locked rootpw --iscrypted --lock locked
# SELinux configuration # SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services # System services
services --enabled="NetworkManager,systemd-resolved" services --enabled="NetworkManager,systemd-resolved"
# System timezone # System timezone
timezone Europe/Paris --utc timezone Europe/Zurich --utc
# Use network installation # Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch" url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration # System bootloader configuration
bootloader --location=mbr --timeout=1 bootloader --location=mbr --timeout=1
# Clear the Master Boot Record # Clear the Master Boot Record
@@ -33,7 +33,7 @@ zerombr
# Partition clearing information # Partition clearing information
clearpart --all --initlabel clearpart --all --initlabel
# Disk partitioning information # Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root part / --fstype="ext4" --grow --label=root
@@ -41,7 +41,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end %end

View File

@@ -4,6 +4,7 @@ xconfig --startxonboot --defaultdesktop=GNOME # Start the display session on boo
gnome-shell # the version 3 of the GNOME desktop environment, without any presintalled applications gnome-shell # the version 3 of the GNOME desktop environment, without any presintalled applications
gnome-terminal # install the default terminal for GNOME Shell gnome-terminal # install the default terminal for GNOME Shell
gnome-control-center # Utilities to configure the GNOME desktop
-gnome-tour # delete GNOME Tour so it doesn't automatically launch on boot -gnome-tour # delete GNOME Tour so it doesn't automatically launch on boot
mesa-dri-drivers # add mesa drivers otherwise there is a blank screen when first booting a desktop-based kickstart without virtualization tools mesa-dri-drivers # add mesa drivers otherwise there is a blank screen when first booting a desktop-based kickstart without virtualization tools
dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in GNOME Terminal. GNOME Terminal unfortunately doesn't automatically pick this font dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in GNOME Terminal. GNOME Terminal unfortunately doesn't automatically pick this font
@@ -12,6 +13,9 @@ wpa_supplicant # WPA Supplicant for Linux. It is not packaged by default in GNOM
NetworkManager-wifi # Provides the plugin to manage Wireless networking within GNOME Shell NetworkManager-wifi # Provides the plugin to manage Wireless networking within GNOME Shell
firefox # Internet browser firefox # Internet browser
mozilla-ublock-origin.noarch # An efficient ad blocker for Firefox mozilla-ublock-origin.noarch # An efficient ad blocker for Firefox
pipewire-alsa # PipeWire media server ALSA support
pipewire-pulseaudio # PipeWire PulseAudio implementation
pipewire-jack-audio-connection-kit # PipeWire JACK implementation
%end # End of the packagages section %end # End of the packagages section

View File

@@ -2,16 +2,23 @@ services --enabled="NetworkManager,systemd-resolved,libvirtd" # Without libvirtd
%packages --exclude-weakdeps # Beginning of the packages section. Does not include weak dependencies. %packages --exclude-weakdeps # Beginning of the packages section. Does not include weak dependencies.
qemu-kvm qemu-kvm # QEMU metapackage for KVM support
libvirt libvirt # Library providing a simple virtualization API
libvirt-daemon-config-network libvirt-client # Client side utilities of the libvirt library
libvirt-daemon-kvm libvirt-client-qemu # Additional client side utilities for QEMU. Used to interact with some QEMU specific features of libvirt.
# libvirt-daemon-driver-lxc libvirt-daemon # Server side daemon and supporting files for libvirt library
virt-install libvirt-daemon-common # Miscellaneous files and utilities used by other libvirt daemons
virt-top libvirt-daemon-config-network # Default configuration files for the libvirtd daemon. Provides NAT based networking
libguestfs-tools # Complementary tools useful for interacting with vith guest systems. Could probablby be removed libvirt-daemon-driver-interface # Interface driver plugin for the libvirtd daemon
python3-libguestfs # Complementary tools useful for interacting with vith guest systems. Could probablby be removed libvirt-daemon-driver-network # The network driver plugin for the libvirtd daemon, providing an implementation of the virtual network APIs using the Linux bridge capabilities.
guestfs-tools # Complementary tools useful for interacting with vith guest systems. Could probablby be removed libvirt-daemon-driver-qemu # QEMU driver plugin for the libvirtd daemon
libvirt-daemon-kvm # Server side daemon & driver required to run KVM guests
libvirt-daemon-log # Server side daemon for managing logs
libvirt-daemon-qemu # Server side daemon and driver required to manage the virtualization capabilities of the QEMU TCG emulators
libvirt-nss # Libvirt plugin for Name Service Switch
libvirt-dbus # libvirt D-Bus API binding
libvirt-daemon-driver-ch # Cloud-Hypervisor driver plugin for libvirtd daemon
virt-install # Utilities for installing virtual machines
%end # End of the packages section %end # End of the packages section

View File

@@ -1 +1 @@
bootloader --sdboot --timeout=1 # Use systemd-boot and set a timeout to 1 bootloader --sdboot --location=mbr --timeout=1 # Use systemd-boot and set a timeout to 1

View File

@@ -0,0 +1 @@
liveimg --url=file:///mnt/iso/LiveOS/squashfs.img

View File

@@ -0,0 +1,3 @@
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 # Official Fedora mirror
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 # Official Fedora updates mirror
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 # Official Fedora updates mirror

View File

@@ -1,2 +1,2 @@
repo --name=rawhide --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch repo --name=rawhide --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64

View File

@@ -1,3 +0,0 @@
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch # Official Fedora mirror
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch # Official Fedora updates mirror
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch # Official Fedora updates mirror

View File

@@ -1,3 +1,3 @@
keyboard --xlayouts='ch (fr)' # Set keyboard layouts for Romandy keyboard --xlayouts='ch (fr)' # Set keyboard layouts for Romandy
lang en_US.UTF-8 # Set system language to American English. More languages could be supported: --addsupport=cs_CZ,de_DE,en_UK lang en_US.UTF-8 # Set system language to American English. More languages could be supported: --addsupport=cs_CZ,de_DE,en_UK
timezone Europe/Paris --utc # Set system timezone to Paris timezone Europe/Zurich --utc # Set system timezone to Zurich

View File

@@ -1,7 +1,6 @@
%packages --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project %packages --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
# Default but not necessary packages that are part of the core DNF group # Default packages fom core dnf group not marked as mandatory (`dnf group info --hidden core`)
NetworkManager # Network connection manager and user applications NetworkManager # Network connection manager and user applications
NetworkManager-config-connectivity-fedora # NetworkManager config file for connectivity checking via Fedora servers NetworkManager-config-connectivity-fedora # NetworkManager config file for connectivity checking via Fedora servers
dnf5-plugins # Plugins for dnf5 dnf5-plugins # Plugins for dnf5
@@ -17,6 +16,7 @@ zram-generator-defaults # Default configuration for zram-generator
pciutils # PCI bus related utilities pciutils # PCI bus related utilities
libusb # Library for accessing USB devices libusb # Library for accessing USB devices
usbutils # Linux USB utilities usbutils # Linux USB utilities
curl # transfer a URL
wget # An advanced file and recursive website downloader wget # An advanced file and recursive website downloader
nano # A small text editor nano # A small text editor

View File

@@ -10,6 +10,7 @@
%packages --ignoremissing --nocore --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project %packages --ignoremissing --nocore --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
# Mandatory packages found in hidden `core` group (`dnf group info --hidden core`)
audit # User space tools for kernel auditing audit # User space tools for kernel auditing
basesystem # The skeleton package which defines a simple Fedora system basesystem # The skeleton package which defines a simple Fedora system
bash # The Bourne Again SHell, a command-line interpreter. bash # The Bourne Again SHell, a command-line interpreter.

View File

@@ -2,6 +2,5 @@
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked. localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end # End of the %post section %end # End of the %post section

View File

@@ -1,6 +1,6 @@
zerombr # Destroy all the contents of disks with invalid partition tables or other formatting unrecognizable to the installer zerombr # Destroy all the contents of disks with invalid partition tables or other formatting unrecognizable to the installer
clearpart --all --initlabel # Erase all partitions and Initializes the disk label to the default for the target architecture clearpart --all --initlabel # Erase all partitions and Initializes the disk label to the default for the target architecture
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi # Creates an 1 GB EFI system partition part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi # Creates a 2 GB EFI system partition
part /boot --fstype="ext4" --size=512 --label=boot # Creates a 512 MiB ext4 boot partition part /boot --fstype="ext4" --size=512 --label=boot # Creates a 512 MiB ext4 boot partition
part / --fstype="ext4" --grow --label=root # Create a single root partition with the remaining space part / --fstype="ext4" --grow --label=root # Create a single root partition with the remaining space

View File

@@ -0,0 +1 @@
bootloader --sdboot --location=none --timeout=1 # Use systemd-boot and set location to none

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode for automated installation %include ../ingredients/core.cfg # Text mode for automated installation
%include ../ingredients/core-storage.cfg # Storage configuration %include ../ingredients/core-storage.cfg # Storage configuration
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale %include ../ingredients/core-locale.cfg # System locale
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Provides extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Provides extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Post configuration script %include ../ingredients/core-post.cfg # Post configuration script
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell %include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment %include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -10,7 +10,7 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell %include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment %include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell %include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment %include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell %include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment %include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

23
recipes/desktop.cfg Normal file
View File

@@ -0,0 +1,23 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
# A recipe for a generic desktop hypervisor
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only %include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only %include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems %include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems %include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only %include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script %include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only %include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only %include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems %include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems %include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only %include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script %include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only %include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only %include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems %include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems %include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support %include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only %include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script %include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only %include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only %include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems %include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems %include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only %include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script %include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,17 +9,17 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration %include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell %include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment %include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment
%include ../ingredients/base-desktop-virtual-machine-manager.cfg # Virtual Machine Manager %include ../ingredients/base-desktop-virtual-machine-manager.cfg # Virtual Machine Manager
%include ../ingredients/base-hypervisor.cfg # Base hypervisor %include ../ingredients/base-hypervisor.cfg # Base hypervisor
%include ../ingredients/base-guest-agents.cfg # Guest agents %include ../ingredients/base-guest-agents.cfg # Guest agents

View File

@@ -9,14 +9,14 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration %include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell %include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment %include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,13 +9,13 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-systemd-boot.cfg # systemd-boot %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration %include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory-trimming-attempt.cfg # Trimming attempt for the mandatory packages %include ../ingredients/core-packages-mandatory-trimming-attempt.cfg # Trimming attempt for the mandatory packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-server.cfg # For headless systems %include ../ingredients/core-initial-setup-server.cfg # For headless systems
%include ../ingredients/base-guest-agents.cfg # Guest agents %include ../ingredients/base-guest-agents.cfg # Guest agents

View File

@@ -9,14 +9,14 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration %include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-server.cfg # For headless systems %include ../ingredients/core-initial-setup-server.cfg # For headless systems
%include ../ingredients/base-hypervisor.cfg # Base hypervisor %include ../ingredients/base-hypervisor.cfg # Base hypervisor

View File

@@ -9,14 +9,14 @@
%include ../ingredients/core.cfg # Text mode %include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration %include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB %include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language %include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux %include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services %include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration %include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages %include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages %include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora %include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation %include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-server.cfg # For headless systems %include ../ingredients/core-initial-setup-server.cfg # For headless systems
%include ../ingredients/base-guest-agents.cfg # Guest agents %include ../ingredients/base-guest-agents.cfg # Guest agents

11
scripts/core-count.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# Get the core count using nproc --all
core_count=$(nproc --all)
# Check if nproc --all returns a numerical value greater than 2
if (( core_count < 2 )); then
echo "Warning: System has only $core_count core)."
echo "The script requires at least four cores"
exit 1 # Exit with an error code to indicate the condition is not met
fi

136
scripts/deploy-distro.sh Executable file
View File

@@ -0,0 +1,136 @@
#!/bin/bash
# Default values
DEFAULT_MEMORY=4096
DEFAULT_DISK_SIZE=10
# Prompt user for VM memory size
read -r -p "Provide desired VM memory in MB or press Enter to keep default value of $DEFAULT_MEMORY MB): " memory_size
memory_size=${memory_size:-$DEFAULT_MEMORY}
# Validate memory size
if ! [[ "$memory_size" =~ ^[0-9]+$ ]] || (( memory_size < 2048 )); then
echo "Invalid memory size. Must be a number greater than or equal to 2048. Using default value of $DEFAULT_MEMORY MB."
memory_size=$DEFAULT_MEMORY
fi
# Prompt user for VM disk size
read -r -p "Provide desired disk size of VM in GB or press Enter to use default disk size of $DEFAULT_DISK_SIZE GB: " disk_size
disk_size=${disk_size:-$DEFAULT_DISK_SIZE}
# Validate disk size
if ! [[ "$disk_size" =~ ^[0-9]+$ ]] || (( disk_size < 10 )); then
echo "Invalid disk size. Must be a number greater than or equal to 10 GiB. Using default value of $DEFAULT_DISK_SIZE."
disk_size=$DEFAULT_DISK_SIZE
fi
# Set the choices
CHOICE_SYSTEM="qemu:///system"
CHOICE_SESSION="qemu:///session"
# Display the choices to the user
echo "Please select an option or press Enter to keep default value of $CHOICE_SESSION):"
echo "1) $CHOICE_SYSTEM (system-based or rootfull virtual machine)"
echo "2) $CHOICE_SESSION (session-based or rootless virtual machine)"
# Prompt the user for input
IFS= read -r -p "Enter your choice (1 or 2): " user_choice
# Validate the user's input
if [[ ! "$user_choice" =~ ^[12]$ ]]; then
echo "Invalid choice. Defaulting to session-based VM."
uri="$CHOICE_SESSION" # Default to session-based if input is invalid
else
# Determine the selected option
case "$user_choice" in
1)
uri="$CHOICE_SYSTEM"
;;
2)
uri="$CHOICE_SESSION"
;;
*)
echo "Unexpected error: Invalid choice. This should not happen due to validation."
exit 1
;;
esac
# Conditional variable assignment based on URI
if [[ "$uri" == "qemu:///system" ]]; then
disk_path="/var/lib/libvirt/images/"
network_type="default"
elif [[ "$uri" == "qemu:///session" ]]; then
disk_path="$HOME/.local/share/libvirt/images/"
network_type="user"
fi
fi
# Display the selected option (optional)
echo "You selected: $uri"
# Get a list of files in "dishes" directory
mapfile -t dish_name < <(find "dishes/" -maxdepth 1 -type f \( -name "virtual*" \) -printf "%f\n" | sed 's/\.[^.]*$//')
# Check if there are any files
if [ ${#dish_name[@]} -eq 0 ]; then
echo "No files found in the directory ../dishes."
exit 1
fi
# Display the files with numbered options
echo "Available files:"
for i in "${!dish_name[@]}"; do
echo "$((i + 1)). ${dish_name[$i]}"
done
# Prompt the user to select a file
read -r -p "Enter the number of the file you want to select: " choice
# Validate the user's choice
if ! [[ "$choice" =~ ^[0-9]+$ ]] || (( choice < 1 )) || (( choice > ${#dish_name[@]} )); then
echo "Invalid choice. Please enter a number from 1 to ${#dish_name[@]}."
exit 1
fi
# Get the selected filename
vm_name="${dish_name[$((choice - 1))]}"
# Output the selected filename
echo "You selected: $vm_name"
# virt-install command with user-defined VM name
virt-install \
--connect "$uri" \
--os-variant fedora41 \
--virt-type kvm \
--arch x86_64 \
--machine q35 \
--name "$vm_name" \
--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no \
--cpu host-model,topology.sockets=1,topology.cores=1,topology.threads=1 \
--vcpus 1 \
--cpu host-passthrough,cache.mode=passthrough \
--memory "$memory_size" \
--video virtio \
--graphics spice,listen=0.0.0.0 \
--channel unix,target.type=virtio,target.name=org.qemu.guest_agent.0 \
--autoconsole none \
--console pty,target.type=virtio \
--sound none \
--network type="$network_type",model=virtio \
--controller type=virtio-serial \
--controller type=usb,model=none \
--controller type=scsi,model=virtio-scsi \
--input type=keyboard,bus=virtio \
--input type=mouse,bus=virtio \
--rng /dev/urandom,model=virtio \
--tpm none \
--iommu model=virtio \
--watchdog none \
--memballoon none \
--disk path="${disk_path}/${vm_name}.img",format=raw,bus=virtio,cache=writeback,size="$disk_size" \
--location=https://download.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os/ \
--initrd-inject ./dishes/"$vm_name".cfg \
--extra-args "inst.ks=file:/$vm_name.cfg"
echo "virt-install command executed with VM name: $vm_name"

View File

@@ -0,0 +1,43 @@
#!/bin/bash
# Check if virt-manager is already installed
if command -v virt-manager &> /dev/null; then
exit 0
fi
# Detect the Linux distribution
if [[ -f /etc/os-release ]]; then
. /etc/os-release
DISTRO="$ID"
else
echo "Unable to determine Linux distribution. Exiting."
exit 1
fi
echo "Detected distribution: $DISTRO"
# Install prerequisites based on distribution
case "$DISTRO" in
ubuntu|debian)
echo "Installing prerequisites for Debian/Ubuntu..."
apt-get update
apt-get install -y qemu-system libvirt-daemon-system virt-manager
;;
fedora|rhel|centos)
echo "Installing prerequisites for Fedora/RHEL/CentOS..."
dnf install -y qemu-kvm libvirt virt-manager
;;
arch)
echo "Installing prerequisites for Arch Linux..."
pacman -S --noconfirm qemu-desktop libvirt virt-manager
;;
opensuse-tumbleweed)
echo "Installing prerequisites for openSUSE Tumbleweed..."
zypper -n install qemu libvirt virt-manager
;;
*)
echo "Unsupported distribution: $DISTRO. Manual installation required."
exit 1
;;
esac

12
scripts/system-memory.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Read the total memory from /proc/meminfo in MiB
total_memory=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
# Convert to MiB by dividing by 1024 (since MemTotal is in KiB)
total_memory_mb=$(( total_memory / 1024 ))
if [[ "$total_memory_mb" -lt "4096" ]]; then
echo "Not enough RAM: The system has only ${total_memory_mb}MiB of RAM, but at least 4096 is required."
exit 1
fi