#!/bin/bash

program_name="raspscreen"
runtime_id=$(id -u)
userland_name="${1-systemec}"

# Check if the user is right (root) for the program
if [[ "$runtime_id" -ne 0 ]]; then
    echo "Not running as root, please run as root."
    exit 1
fi
apt-get -y install libreoffice-impress psmisc ssh vlc
systemctl enable --now ssh

# Create the systemd userland folder
if [[ ! -d /home/${userland_name}/.config/systemd/user ]]; then
    mkdir -p /home/${userland_name}/.config/systemd/user -m 755
fi

# Create the program place onto /opt
if [[ ! -d /opt/${program_name} ]]; then
    mkdir -p /opt/${program_name}/media -m 755
fi

cat > /home/${userland_name}/.config/systemd/user/presentation.service << EOF
[Unit]
Description="Systemec Akarton Raspberry Pi Uploader Program (SARPUS)"
After=graphical.target

[Service]
Type=simple
Environment=DISPLAY=:0
WorkingDirectory=/opt/raspscreen
ExecStartPre=/usr/bin/sleep 5
ExecStart=/bin/sh -c 'exec /usr/bin/libreoffice --impress --show --norestore \$(find /opt/raspscreen/media \( -name "*.pptx" -o -name "*.odp" \))'
ExecStop=/usr/bin/killall libreoffice
Restart=always
Restart=on-failure
RestartSec=2

[Install]
WantedBy=default.target
EOF

cat > /home/${userland_name}/.config/systemd/user/video.service << EOF
[Unit]
Description="Systemec Akarton Raspberry Pi Uploader Program (SARPUS)"
After=graphical.target

[Service]
Type=simple
Environment=DISPLAY=:0
WorkingDirectory=/opt/raspscreen
ExecStartPre=/usr/bin/sleep 5
ExecStart=/bin/sh -c 'exec /usr/bin/vlc --fullscreen --loop --no-video-title --video-on-top --no-qt-privacy-ask --no-qt-fs-controller --qt-continue=0 \$(find /opt/raspscreen/media \( -name "*.mp4" -o -name "*.mkv" -o -name "*.mov" -o -name "*.webm" \))'
ExecStop=/usr/bin/killall vlc
Restart=always
Restart=on-failure
RestartSec=2

[Install]
WantedBy=default.target
EOF

chown -Rv ${userland_name}:${userland_name} /home/${userland_name}/.config/systemd
chown -Rv ${userland_name}:${userland_name} /opt/${program_name}

echo "Self-destruction NOW!"
rm $(pwd)/$0