#!/bin/sh
# Erzeuge die Datei /etc/hostname und trage einen Hostnamen ein.
touch /etc/hostname
echo "tuxedo" >  /etc/hostname
hostnamectl hostname tuxedo

# Erzeuge /var/log/journal für persistentes Journal
# Sollte vielleicht anderweitig per Basefile gelöst werden.
mkdir -p /var/log/journal

# Lege  eine Autostartdatei für Calamares im Homeverzeichnis von oem an
mkdir -p /home/oem/.config/autostart/
cp -af /usr/share/tuxedo/oem/oem-setup.desktop /home/oem/.config/autostart/
cp -af /etc/skel/.config/autostart/maliit-fix.desktop /home/oem/.config/autostart/

# Damit der oem User nicht nach Inaktivität automatisch ausgelockt wird,
# wird die Datei kscreenlockrc kopiert
cp -af /usr/share/tuxedo/oem/kscreenlockerrc /home/oem/.config/

# Setze Restriktionen für die OEM Phase
rm -rf /home/oem/Desktop/*
cp -af /usr/share/tuxedo/oem/plasma-org.kde.plasma.desktop-appletsrc /home/oem/.config/
cp -af /usr/share/tuxedo/oem/kglobalshortcutsrc /home/oem/.config/
cp -af /usr/share/tuxedo/oem/kdeglobals /home/oem/.config/
cp -af /usr/share/tuxedo/oem/powerdevilrc /home/oem/.config/
cp -af /usr/share/tuxedo/oem/ksmserverrc /home/oem/.config/


# Setze Autologin für den oem User
rm -f /etc/sddm.conf
cp -af /usr/share/tuxedo/oemconf/sddm.conf /etc/
cp -af /usr/share/tuxedo/oemconf/10-wayland.conf /etc/sddm.conf.d/10-wayland.conf
sed -i 's/^Session=plasmax11/Session=plasma/' /etc/sddm.conf.d/kde_settings.conf

# set Wayland as default for Inifinity Flex
if dmidecode | grep -Eqw "IFLX14I01|Positivo"; then
    cp -af /usr/share/tuxedo/oem/kwinrc-flex /home/oem/.config/kwinrc
    cp -af /usr/share/tuxedo/conf/kwinrc-flex /etc/skel/.config/kwinrc
    sed -i 's/^Session=plasmax11/Session=plasma/' /etc/sddm.conf.d/kde_settings.conf
    sed -i 's/- packagechooserq@session/#- packagechooserq@session/' /usr/share/tuxedo/calamare*/settings.conf
# set Wayland as default in Calamares for certain devices and all devices without nvidia
elif { dmidecode | grep -Eqw "POLARIS1XA05|GEMINIGEN3A"; } || { ! lspci | grep -Ei "3d|display|vga" | grep -qi nvidia; } then
    cp -af /usr/share/tuxedo/oem/kwinrc /home/oem/.config/kwinrc
    cp -af /usr/share/tuxedo/conf/kwinrc /etc/skel/.config/kwinrc
    cp -af /usr/share/tuxedo/oemconf/wl-packagechooserq@session.qml /etc/calamares/branding/tuxedo/packagechooserq@session.qml
else
    cp -af /usr/share/tuxedo/oem/kwinrc /home/oem/.config/
    cp -af /usr/share/tuxedo/conf/kwinrc /etc/skel/.config/kwinrc
    cp -af /usr/share/tuxedo/oemconf/x11-packagechooserq@session.qml /etc/calamares/branding/tuxedo/packagechooserq@session.qml
fi

if lsblk | grep -q crypt_dev; then
    cp -af /usr/share/tuxedo/oem/settings_crypt.conf /etc/calamares/settings.conf
fi

cat <<'EOF' > /home/oem/.config/kwalletrc
[Wallet]
Enabled=false

EOF

find /home/*/.config/autostart -name cryptshutdown* -delete
find /home/*/.config/autostart -name set-click* -delete
find /etc/skel/.config/autostart -name cryptshutdown* -delete
find /etc/skel/.config/autostart -name set-click* -delete
find /usr/local/bin -name cryptshutdown.sh -delete
find /usr/local/bin -name firstshutdown.sh -delete
find /usr/local/bin -name rmfirstshutdown.sh -delete
rm -f /home/oem/.config/autostart/copy-guide.desktop
rm -f /home/oem/*/dgpu.desktop

# Setze die Berechtigungen für $HOME auf oem 
chown -R oem:oem /home/oem/

# Remove some packages, if installed
DEBIAN_FRONTEND=noninteractive apt --assume-yes purge xdg-desktop-portal-lxqt --auto-remove

# Add an entry for the dGPO Gude in or Tuxedo-Categorie
xdg-desktop-menu install --novendor /usr/share/tuxedo/TUXEDO.directory /usr/share/tuxedo/dgpu.desktop

#fix sources for deb822
#rm -f /etc/apt/sources.list.d/*.list
#cp -af /usr/share/tuxedo/oemconf/neon-archive-keyring.gpg /usr/share/keyrings
#cp -af /usr/share/tuxedo/conf/apt/*.sources /etc/apt/sources.list.d/

#temporary fix missing kernel
#apt update 2>/dev/null
#apt --assume-yes install linux-tuxedo-24.04 2>/dev/null