Files
fedora-isobuilder/kickstarts/kiosk.ks
2026-01-31 23:05:10 +01:00

73 lines
1.5 KiB
Plaintext

# 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