Files
secureblue/generate_secureblue_iso.sh
2024-03-28 01:26:04 +00:00

115 lines
3.1 KiB
Bash

#!/usr/bin/env bash
if ! command -v podman &> /dev/null
then
echo "Podman is not installed, install it to use this script."
fi
function is_yes {
case $(echo "$1" | tr '[:upper:]' '[:lower:]') in
y|yes) return 0;;
*) return 1;;
esac
}
desktop_options=("kinoite" "cinnamon" "bluefin" "silverblue" "sericea" "wayblue-wayfire" "wayblue-sway" "wayblue-river" "wayblue-hyprland")
desktop_options_asus=("silverblue" "kinoite")
image_name=""
read -p "Do you need user namespaces? (yes/No): " use_userns
read -p "Do you use an Asus laptop? (yes/No): " is_asus
read -p "Do you use Nvidia? (yes/No): " use_nvidia
if is_yes "$is_asus"; then
echo "Select a desktop:"
select opt in "${desktop_options_asus[@]}"; do
case $opt in
"silverblue")
image_name+="silverblue"
break;
;;
"kinoite")
image_name+="kinoite"
break;
;;
*) echo "Invalid option";;
esac
done
image_name+="-asus"
if is_yes "$use_nvidia"; then
image_name+="-nvidia"
fi
else
read -p "Is this for a server? (yes/No): " is_server
if is_yes "$is_server"; then
image_name+="server"
else
echo "Select a desktop:"
select opt in "${desktop_options[@]}"; do
case $opt in
"silverblue")
image_name+="silverblue"
break;
;;
"kinoite")
image_name+="kinoite"
break;
;;
"cinnamon")
image_name+="cinnamon"
break;
;;
"sericea")
image_name+="sericea"
break;
;;
"bluefin")
image_name+="bluefin"
break;
;;
"wayblue-river")
image_name+="wayblue-river"
break;
;;
"wayblue-sway")
image_name+="wayblue-sway"
break;
;;
"wayblue-hyprland")
image_name+="wayblue-hyprland"
break;
;;
"wayblue-wayfire")
image_name+="wayblue-wayfire"
break;
;;
*) echo "Invalid option";;
esac
done
fi
if is_yes "$use_nvidia"; then
image_name+="-nvidia"
else
image_name+="-main"
fi
fi
if is_yes "$use_userns"; then
image_name+="-userns"
fi
image_name+="-hardened"
command="sudo podman run --rm --privileged --volume .:/isogenerator/output -e IMAGE_REPO=ghcr.io/secureblue -e IMAGE_NAME=$image_name -e IMAGE_TAG=latest ghcr.io/ublue-os/isogenerator:latest"
echo "Command to execute:"
echo "$command"
echo ""
read -p "Generate this ISO? (yes/No)" generate_iso
if is_yes "$generate_iso"; then
$command
fi