2021-06-30 07:41:03 +00:00
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
2021-06-30 08:11:52 +00:00
# WHAT ? This Kickstart file that bootstraps a desktop-oriented virtual machine.
# 'v' for virtual machine, 'd' for desktop, 'p' for personalized, 'e' for efi, 'p' for production.
2021-06-30 07:41:03 +00:00
# USAGE : Press the `tab` or 'e' key during POST and apend that after the 'quiet' string :
2021-06-30 08:11:52 +00:00
# inst.ks=https://git.phyllo.me/home/kickstart/raw/branch/master/f34/vdpep.cfg
2021-06-30 07:41:03 +00:00
# A shorter URL can also be used :
2021-06-30 08:11:52 +00:00
# inst.ks=https://url.phyllo.me/vdpep
2021-06-30 07:41:03 +00:00
# ATTENTION : this kickstart file will automatically DESTROY the main virtual disk 'vda' and all of its contents.
# Bye bye!
## INSTALLATION SOURCE ##
# Configure the cdrom as the installation method
cdrom
# Set URL
url --url = "http://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os"
## INSTALLATION TYPE ##
# Perform Installation in text mode
text
## REPOSITORIES ##
# Add mirro and repo
url --mirrorlist = "https://mirrors.fedoraproject.org/metalink?repo=fedora-34&arch=x86_64"
repo --name = fedora-updates --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f34&arch=x86_64" --cost=0
2021-06-30 08:11:52 +00:00
repo --name = rpmfusion-free --mirrorlist="https://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-34&arch=x86_64" --includepkgs=rpmfusion-free-release
repo --name = rpmfusion-free-updates --mirrorlist="https://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-34&arch=x86_64" --cost=0
repo --name = rpmfusion-nonfree --mirrorlist="https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-34&arch=x86_64" --includepkgs=rpmfusion-nonfree-release
repo --name = rpmfusion-nonfree-updates --mirrorlist="https://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-34&arch=x86_64" --cost=0
2021-06-30 07:41:03 +00:00
## USER RELATED ##
# Keyboard layouts -> Doesn't seem to survive a reboot
keyboard --xlayouts = 'ch (fr)'
# Set the system language to American English
lang en_US.UTF-8
# System timezone
timezone Europe/Paris --utc # Pour Paris !
# Set root password and activate the account
rootpw --iscrypted $6$1Qp09nFQWuKCIYbR$EtsMGR9btLcZqPzgdi56gNc4q00UYbWxV0TAWlE8gkjhdBK7tJ2QrabHXShDFPz.X5r7Ux1m3cUOJb3ZYQdhY/
# Create "test" user account
user --name = lukas --password=$6$iSrkYfqhTgyyf8ND$mpc0D/C0S8WbrS2uG62Gf3kH8wjNAGUFUI3RMQFC9HGjM7HOy169blyhuRnzFSJUSjKQOoK0lfU353h//IpNg/ --iscrypted --gecos="lukas"
## NETWORK RELATED ##
# Configure Firewall
firewall --disabled
# Configure Network Interfaces
2021-06-30 08:12:26 +00:00
network --onboot = yes --bootproto=dhcp --hostname=vdpep
2021-06-30 07:41:03 +00:00
# Run the Setup Agent on first boot
firstboot --enable
## DISK RELATED ##
# Only use disk labelled as vda
ignoredisk --only-use = vda
# System bootloader configuration
bootloader --location = mbr
# WARNING : Dangerous command ! Will clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel --drives = vda
# Disk partitioning information.
# Will create an efi partitition of 128 MiB, a boot partition of 350 MiB on disk vda using the ext4 filesystem. The remaining space will be used for root.
part /boot/efi --fstype = "efi" --ondisk=vda --size=128 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype = "ext4" --ondisk=vda --size=350 --label=boot
2021-06-30 09:55:36 +00:00
part pv.122 --fstype = "lvmpv" --ondisk=vda --size=8192 --encrypted --luks-version=luks2
2021-06-30 09:52:10 +00:00
volgroup system --pesize = 8192 pv.122
2021-06-30 08:43:14 +00:00
logvol / --fstype = "ext4" --size=8192 --label="root" --name=root --vgname=system
2021-06-30 07:41:03 +00:00
# System timezone
timezone Europe/Paris --utc
# Root password user account
## SOFTWARE ##
# Install packages for the server environment. 'Core' and 'Base' are always selected
%packages
@core
## Desktop-related packages to create a minimal desktop environment.
# Impossible to install dependencies, probably because the Fedora Server ISO doesnt' include them.
# We may switch to the Workstation ISO as a workaround
# We install packages after the installation
#
# gnome-shell # Minimal GNOME environement
# libpulse-mainloop-glib.so.0 # gnome-shell dependency
# libpulse.so.0 # gnome-shell dependency
# geoclue2-libs # gnome-shell dependency
# accountsservice-libs # gnome-shell dependency
# bolt # gnome-shell dependency
# control-center # gnome-shell dependency
# gdm-libs # gnome-shell dependency
# highcontrast-icon-theme # gnome-shell dependency
# switcheroo-control # gnome-shell dependency
# upower # gnome-shell dependency
# xdg-user-dirs-gtk # gnome-shell dependency
# libgweather # gnome-shell dependency
# gnome-bluetooth # gnome-shell dependency
# xdg-desktop-portal-gtk # gnome-shell dependency
#
# gnome-terminal
# -gnome-tour # We don't want GNOME-tour to open at launch so we delete it
#
# nautilus # Default File explorer for Gnome
# gnome-terminal-nautilus # Terminal integration for Nautilus
# gsettings-desktop-schemas # Nautilus dependency
# libtracker-sparql-3.0.so.0 # Nautilus dependency
# tracker3-miners # Nautilus dependency
# libgexiv2.so.2 # Nautilus dependency
#
#
# firefox # Internet browser
# libfdk-aac.so.2 # Firefox dependency
# libdbus-glib-1.so.2 # Firefox dependency
# mozilla-filesystem-1.9-25 # Firefox dependency
#
qemu-guest-agent # Install software to allow the host to better interact with the guest (can't find the spice-vdagent package)
## spice-vdagent
-fedora-logos # To be removed if we want to redistribute as Fedora Remix.
-fedora-release-notes # To be removed if we want to redistribute as Fedora Remix.
%end
## POST-INSTALLATION SCRIPTS ##
## Start of the %post section with logging into /root/ks-post.log
%post --log = /root/ks-post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked
# dnf update -y # Update the system
systemctl set-default graphical.target # Set the desktop environment as the default booting target with systemd
dnf install -y gnome-shell gnome-terminal nano # Minimal GNOME shell or desktop environment plus the text nano editor
dnf install -y nautilus gnome-terminal-nautilus # Default File explorer for GNOME and its integration with gnome-shell
dnf install -y gedit # The official gnome text editor
dnf install -y firefox # Internet browser
dnf install -y nextcloud-client nextcloud-client-nautilus # The Nextcloud client and its integration with gnome-shell
dnf install -y libreoffice-writer # The rich and open text editor
dnf install -y spice-vdagent # Try to install spice-vdagent after the installation is done
dnf install -y dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in gnome-terminal.
dnf install -y elementary-wallpapers-gnome.noarch # Gorgeous wallpapers
dnf install -y wpa_supplicant # WPA Supplicant for Linux. Not integrated by default in gnome-shell, but necessary to configure wireless networks through the Network Manager.
dnf remove -y gnome-tour # We don't want GNOME-tour to open at launch so we delete it
sed -i 's/5/1/' /etc/default/grub # set the GRUB_TIMEOUT countdown to 1 instead of 5 seconds.
grub2-mkconfig -o /boot/grub2/grub.cfg # Update grub
reboot # Reboot the installer (doesn't work (tm))
%end # End of the %post section