Files
nixos/install.sh

38 lines
898 B
Bash
Executable File

#!/bin/sh
directory="hosts"
echo "Known hosts:"
folders=()
counter=1
for folder in "$directory"/*/; do
if [ -d "$folder" ]; then
folder_name=$(basename "$folder")
folders+=("$folder_name")
echo "$counter: $folder_name"
((counter++))
fi
done
echo "Please select a host (number):"
read -p "> " folder_number
# Validate the selection
if ! echo "$folder_number" | grep -Eq '^[1-9][0-9]*$'; then
echo "Invalid selection: You must enter a positive integer."
exit 1
fi
folder_index=$((folder_number - 1))
if [ "$folder_index" -lt 0 ] || [ "$folder_index" -ge "${#folders[@]}" ]; then
echo "Invalid selection: Number out of range."
exit 1
fi
selected_folder="${folders[$folder_index]}"
selected_folder_path="$directory/$selected_folder"
ln -sf "$selected_folder_path/configuration.nix" "configuration.nix"
echo "Switched to host configuration in the current directory."