diff options
Diffstat (limited to 'guix-strap/guix-configure')
-rwxr-xr-x | guix-strap/guix-configure | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/guix-strap/guix-configure b/guix-strap/guix-configure new file mode 100755 index 0000000..f8a3cb6 --- /dev/null +++ b/guix-strap/guix-configure @@ -0,0 +1,49 @@ +#!/run/current-system/profile/bin/bash + +source ./guix-log +source ./guix-env + +HOSTNAME="" +CRYPT_UUID="" +EFI_UUID="" + +get_uuid() { + blkid -s UUID -o value $1 +} + +CRYPT_UUID=$(get_uuid $CRYPT_PARTITION) +EFI_UUID=$(get_uuid $EFI_PARTITION) + +get_hostname() { + CONFIRM="" + read -p "Enter system hostname: " HOSTNAME + if [ ! -z "$HOSTNAME" -a "$HOSTNAME" != " " ]; then + (confirm "$HOSTNAME"); + if [ "$?" -ne 0 ]; then + get_hostname + fi + else + ERROR "'$HOSTNAME' is not a valid hostname" + fi +} + +EVENT "Getting hostname" + +get_hostname + +EVENT "Hostname set to '$HOSTNAME'" + +EVENT "Generating system config file" + +cp system.scm "$HOSTNAME.scm" +sed -i "s/SED_CRYPT_UUID/$CRYPT_UUId/" ./$HOSTNAME.scm +sed -i "s/SED_EFI_UUID/$EFI_UUID/" ./$HOSTNAME.scm +sed -i "s/SED_HOSTNAME/$HOSTNAME/" ./$HOSTNAME.scm + +mv "$HOSTNAME.scm" .. + +EVENT "Successfully configured $HOSTNAME.scm" + +echo "HOSTNAME=\"$HOSTNAME\"" >> ./guix-env +echo "CRYPT_UUID=\"$CRYPT_UUID\"" >> ./guix-env +echo "EFI_UUID=\"$EFI_UUID\"" >> ./guix-env |