(pkgs.writeShellScriptBin "wipe" '' echo "Detecting in 15 seconds..." sleep 10 echo 1 > /sys/bus/pci/rescan sleep 5 if [ ! -e "/dev/nvme0n1" ]; then echo "Rebooting in 3 seconds. If still not detected, NVMe is DOA." sleep 3 reboot else echo "NVMe detected!" fi mkdir -p "/home/nps/logs" SN="$(nvme id-ctrl /dev/nvme0n1 | awk '/^[[:space:]]*sn[[:space:]]*:/ {print $3; exit}')" LOG_FILE="/home/nps/logs/$SN.log" touch "$LOG_FILE" echo "Wiping NVMe..." nvme format /dev/nvme0n1 --ses=1 --force | tee "$LOG_FILE" WIPE_STATUS=''${PIPESTATUS[0]} smartctl -a /dev/nvme0n1 | tee -a "$LOG_FILE" SMART_STATUS=''${PIPESTATUS[0]} echo "Resetting parent PCIe bridge ($PARENT_BRIDGE) resources to disconnect NVMe in 15 seconds..." echo 1 > "/sys/bus/pci/devices/0000:09:00.0/remove" sleep 15 echo "NVMe disconnected and is safe to remove." echo "" # --- Final Confirmation --- echo "===================================" echo " RESULTS SUMMARY " echo "===================================" if [ "$WIPE_STATUS" -eq 0 ]; then echo "WIPE: [ SUCCESS ]" else echo "WIPE: [ FAILED ]" fi if [ "$SMART_STATUS" -eq 0 ]; then echo "SMART: [ PASSED ]" else echo "SMART: [ FAILED ]" fi echo "===================================" '')