1-get-initial-setup-working #2

Merged
hygienic-books merged 92 commits from 1-get-initial-setup-working into main 2023-03-05 03:02:48 +00:00
Showing only changes of commit 8d38827cd1 - Show all commits

View File

@ -105,6 +105,35 @@ function zpool_drive_id () {
exit 1
}
function select_part () {
local parts enriched_parts enriched_parts_count part_number part_type
declare part
part_type="${1:?}" # 'efi' or 'zfs'
parts="$(get_parts "${part_type}")"
if we_have_exactly_one_part "${part_type}" "${parts}"; then
part="${parts}"
else
printf -- '%s\n' 'Which '"${part_type^^}"' partition do you want us to use?'
while IFS= read -r found_part; do
enriched_parts+=("'${found_part}'"' (aka ID '"'$(get_drive_id "${found_part}")'"')')
done <<<"${parts}"
enriched_parts_count="${#enriched_parts[@]}"
select part in "${enriched_parts[@]}"; do
part_number="${REPLY}"
if [[ "${part_number}" -le "${enriched_parts_count}" ]]; then
part="$(sed "${REPLY}q;d" <<<"${parts}")"
printf -- '%s\n' 'You'"'"'ve selected '"'${part}'"' ...'
break
else
printf -- '%s\n' 'Invalid option, please choose between 1 and '"${enriched_parts_count}"
fi
done
fi
printf -- '%s' "${part}"
return 0
}
function set_zpool_password () {
# May or may not have a newline at the end, ZFS doesn't care
printf -- '%s' 'password' > '/etc/zfs/'"${zpool_name}"'.key'