# Fedora 42 Kiosk/PoS Live ISO # Single-application kiosk system with Wayland url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-42&arch=x86_64 lang en_US.UTF-8 keyboard us timezone UTC --utc rootpw --plaintext changeme user --name=kiosk --groups=wheel --plaintext --password=kiosk network --bootproto=dhcp --device=link --activate --onboot=yes bootloader --location=mbr --timeout=1 --append="quiet splash" clearpart --all --initlabel autopart --type=plain --nohome %packages --excludedocs @core kernel systemd NetworkManager cage weston firefox dejavu-sans-fonts dejavu-sans-mono-fonts pipewire pipewire-pulseaudio plymouth plymouth-system-theme -abrt* -sssd* %end %post --erroronfail # Autologin on tty1 mkdir -p /etc/systemd/system/getty@tty1.service.d cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf << AEOF [Service] ExecStart= ExecStart=-/sbin/agetty --autologin kiosk --noclear %I \$TERM AEOF # Kiosk startup - launches Cage with Firefox cat > /home/kiosk/.bash_profile << 'BEOF' if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then exec cage -- firefox --kiosk https://localhost fi BEOF chown kiosk:kiosk /home/kiosk/.bash_profile # Lock kiosk user password passwd -l kiosk # Limit virtual consoles mkdir -p /etc/systemd/logind.conf.d cat > /etc/systemd/logind.conf.d/kiosk.conf << LEOF [Login] NAutoVTs=1 ReserveVT=0 LEOF systemctl enable NetworkManager systemctl set-default multi-user.target dnf clean all %end reboot