mirror of
https://github.com/PhyllomeOS/phyllomeos.git
synced 2024-12-22 13:05:17 +00:00
Lukas
c0bcfc4287
Elementary OS backgrounds are not yet available in Fedora 37. They need to be replace with something else. GNOME backgrounds were chosen
285 lines
9.2 KiB
INI
285 lines
9.2 KiB
INI
# Generated by pykickstart v3.34
|
|
#version=DEVEL
|
|
# X Window System configuration information
|
|
xconfig --defaultdesktop=GNOME --startxonboot
|
|
# Keyboard layouts
|
|
keyboard --xlayouts='ch (fr)'
|
|
# Root password
|
|
rootpw --iscrypted --lock locked
|
|
# System language
|
|
lang en_US.UTF-8
|
|
# Shutdown after installation
|
|
shutdown
|
|
# Use text mode install
|
|
text
|
|
# Network information
|
|
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
|
|
# Firewall configuration
|
|
firewall --enabled --service=mdns
|
|
# Use network installation
|
|
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
|
|
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
|
|
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
|
|
# System timezone
|
|
timezone Europe/Paris --utc
|
|
# SELinux configuration
|
|
selinux --enforcing
|
|
# System services
|
|
services --disabled="sshd" --enabled="NetworkManager,libvirtd"
|
|
# 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=128 --fsoptions="umask=0077,shortname=winnt" --label=efi
|
|
part /boot --fstype="ext4" --size=384 --label=boot
|
|
part / --fstype="ext4" --grow --label=root
|
|
|
|
%post --logfile=/opt/base.log
|
|
|
|
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
|
|
dnf update -y # Update the system
|
|
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
|
|
|
|
%end
|
|
|
|
%post --nochroot --logfile=/mnt/sysimage/opt/base-desktop-gnome.log
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
|
|
[org.gnome.desktop.background]
|
|
picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF
|
|
[org.gnome.desktop.media-handling]
|
|
automount-open=false
|
|
autorun-never=true
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF
|
|
[org.gnome.Terminal.Legacy.Profile]
|
|
font='DejaVu Sans Mono 12'
|
|
use-system-font=false
|
|
audible-bell=false
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
|
|
[org.gnome.desktop.wm.preferences]
|
|
button-layout=':minimize,maximize,close'
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF
|
|
[org.gnome.desktop.a11y]
|
|
always-show-universal-access-status=true
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF
|
|
[org.gnome.desktop.interface]
|
|
enable-animations=false
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF
|
|
[org.gnome.desktop.privacy]
|
|
remove-old-temp-files=true
|
|
remember-recent-files=false
|
|
remember-app-usage=false
|
|
disable-camera=true
|
|
disable-microphone=true
|
|
disable-sound-output=true
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF
|
|
[org.gnome.desktop.search-providers]
|
|
disable-external=true
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF
|
|
[org.gnome.desktop.notifications.application]
|
|
enable-sound-alerts=false
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF
|
|
[org.gnome.desktop.sound]
|
|
event-sounds=false
|
|
EOF
|
|
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF
|
|
[org.gnome.desktop.thumbnailers]
|
|
disable-all=true
|
|
EOF
|
|
|
|
glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/
|
|
|
|
%end
|
|
|
|
%post --nochroot --logfile=/mnt/sysimage/opt/base-desktop-gnome-virtual-machine-manager.log
|
|
|
|
# Create a file to autostart virt-manager
|
|
cat > /mnt/sysimage/etc/xdg/autostart/virt-manager.desktop << EOF
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=Virtual Machine Manager
|
|
Exec=virt-manager
|
|
EOF
|
|
|
|
# Modify the default virt-manager behavior for misc. options
|
|
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.override<< EOF
|
|
|
|
# Modify the default virt-manager behavior for misc. options
|
|
[org.virt-manager.virt-manager]
|
|
xmleditor-enabled=true
|
|
manager-window-height=600
|
|
manager-window-width=200
|
|
|
|
# Libvirt URIs listed in the manager window
|
|
[org.virt-manager.virt-manager.connections]
|
|
uris=['qemu:///system', 'qemu:///session']
|
|
autoconnect=['qemu:///session']
|
|
|
|
# Show usage in the domain list
|
|
[org.virt-manager.virt-manager.vmlist-fields]
|
|
cpu-usage=false
|
|
|
|
# Settings related to statistics
|
|
[org.virt-manager.virt-manager.stats]
|
|
update-interval=3
|
|
enable-disk-poll=true
|
|
enable-memory-poll=true
|
|
enable-net-poll=true
|
|
|
|
# Default behavior for the console
|
|
[org.virt-manager.virt-manager.console]
|
|
scaling=2
|
|
resize-guest=1
|
|
autoconnect=false
|
|
|
|
# Do not show toolbar
|
|
[org.virt-manager.virt-manager.details]
|
|
show-toolbar=false
|
|
|
|
# Modify default values for new VMs
|
|
[org.virt-manager.virt-manager.new-vm]
|
|
storage-format='raw'
|
|
cpu-default='host-model'
|
|
graphics-type='spice'
|
|
|
|
# Modify the default virt-manager behavior for confirmation dialogues
|
|
[org.virt-manager.virt-manager.confirm]
|
|
forcepoweroff=false
|
|
removedev=false
|
|
unapplied-dev=false
|
|
|
|
EOF
|
|
|
|
glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/
|
|
|
|
%end
|
|
|
|
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor.log
|
|
|
|
# Load kernel modules by adding vfio, vfio_pci, vfio_iommu_type1, vfio_virqfd
|
|
echo "vfio" > /mnt/sysimage/etc/modules-load.d/vfio.conf
|
|
echo "vfio-pci" > /mnt/sysimage/etc/modules-load.d/vfio-pci.conf
|
|
echo "vfio_iommu_type1" > /mnt/sysimage/etc/modules-load.d/vfio_iommu_type1.conf
|
|
echo "vfio_virqfd" > /mnt/sysimage/etc/modules-load.d/vfio_virqfd.conf
|
|
|
|
mkdir /mnt/sysimage/var/lib/libvirt/iso # Create a directory to store iso images
|
|
|
|
wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /mnt/sysimage/var/lib/libvirt/iso/ # fetch netboot.xyz iso and store it to the newly created iso directory
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/create-generic-vm-virtio-spice.sh -P /mnt/sysimage/usr/local/bin/
|
|
chmod +x /mnt/sysimage/usr/local/bin/create-generic-vm-virtio-spice.sh
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/deploy-minimal-server.sh -P /mnt/sysimage/usr/local/bin/
|
|
chmod +x /mnt/sysimage/usr/local/bin/deploy-minimal-server.sh
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/deploy-minimal-workstation.sh -P /mnt/sysimage/usr/local/bin/
|
|
chmod +x /mnt/sysimage/usr/local/bin/deploy-minimal-workstation.sh
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/deploy-phyllome-desktop.sh -P /mnt/sysimage/usr/local/bin/
|
|
chmod +x /mnt/sysimage/usr/local/bin/deploy-phyllome-desktop.sh
|
|
|
|
# fetch custom script and make it executable
|
|
wget https://raw.githubusercontent.com/PhyllomeOS/phyllomeos/main/post-first-startup-scripts/virtualization-tweaks-root-needed.sh -P /mnt/sysimage/usr/local/bin/
|
|
chmod +x /mnt/sysimage/usr/local/bin/virtualization-tweaks-root-needed.sh
|
|
|
|
%end
|
|
|
|
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-intelcpu.log
|
|
|
|
sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB.
|
|
|
|
echo "options kvm_intel nested=1" >> /mnt/sysimage/etc/modprobe.d/kvm.conf # Add support for nested-virtualization
|
|
|
|
%end
|
|
|
|
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-intelgpu.log
|
|
|
|
sed -i 's/\(vfio-pci\)/\1 i915.enable_gvt=1/i' /mnt/sysimage/etc/default/grub # Load kernel modules in grub.
|
|
|
|
# Load extra kernel modules to enable vfio-mdev on selected hardware
|
|
echo "kvmgt" > /mnt/sysimage/etc/modules-load.d/kvmgt.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm)
|
|
echo "vfio-mdev" > /mnt/sysimage/etc/modules-load.d/vfio-mdev.conf # Load specific kernel modules kvmgt and vfio-mdev, for Intel (tm) GVT-g and Nvidia (tm)
|
|
|
|
%end
|
|
|
|
%post --nochroot --logfile=/mnt/sysimage/opt/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
|
|
|
|
%packages --exclude-weakdeps
|
|
@core
|
|
@hardware-support
|
|
dejavu-sans-mono-fonts
|
|
gnome-backgrounds.noarch
|
|
fedora-remix-logos
|
|
generic-logos
|
|
generic-release
|
|
generic-release-common
|
|
generic-release-notes
|
|
gnome-initial-setup
|
|
gnome-shell
|
|
gnome-terminal
|
|
guestfs-tools
|
|
libguestfs-tools
|
|
libusb
|
|
libvirt
|
|
libvirt-daemon-config-network
|
|
libvirt-daemon-kvm
|
|
mesa-dri-drivers
|
|
nano
|
|
neofetch
|
|
pciutils
|
|
python3-libguestfs
|
|
qemu-kvm
|
|
usbutils
|
|
virt-install
|
|
virt-manager
|
|
virt-top
|
|
wget
|
|
wpa_supplicant
|
|
-fedora-logos
|
|
-fedora-release
|
|
-fedora-release-common
|
|
-fedora-release-identity-basic
|
|
-fedora-release-notes
|
|
-gnome-tour
|
|
|
|
%end
|