#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-10-11; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: LicenseRef-CNCL-1.1 OR LicenseRef-CCLA-1.1
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
set -Ceuo pipefail

printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"

if [[ -f /root/.cdi ]]; then

  cat << EOF >| /etc/systemd/system/cdi-starter.service
[Unit]
Description=CISS CDI post-boot starter
Documentation=https://git.coresecret.dev/msw/CISS.debian.live.builder.git
ConditionFileIsExecutable=/usr/local/sbin/9999_cdi_starter.sh
After=live-config.service systemd-user-sessions.service getty.target
After=network-online.target NetworkManager-wait-online.service
Wants=network-online.target

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/local/sbin/9999_cdi_starter.sh
TimeoutStartSec=0
Nice=5
IOSchedulingClass=best-effort
IOSchedulingPriority=7
Environment=LANG=C.UTF-8
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

  chmod 0644 /etc/systemd/system/cdi-starter.service

  systemctl enable cdi-starter.service

  rm -f /root/.cdi

fi

printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"

exit 0
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
