diff options
| author | Tyler Murphy <tylerm@tylerm.dev> | 2023-10-07 15:38:22 -0400 |
|---|---|---|
| committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-10-07 15:38:22 -0400 |
| commit | 80df8ba1b36bcac4905919d0ff012b7ae099769d (patch) | |
| tree | 4ddd49cb63b42947a4fa0e738eafda32948e6da1 /guix-strap/guix-partition | |
| parent | sway project script (diff) | |
| download | dotfiles-guix-80df8ba1b36bcac4905919d0ff012b7ae099769d.tar.gz dotfiles-guix-80df8ba1b36bcac4905919d0ff012b7ae099769d.tar.bz2 dotfiles-guix-80df8ba1b36bcac4905919d0ff012b7ae099769d.zip | |
guix-strap
Diffstat (limited to 'guix-strap/guix-partition')
| -rwxr-xr-x | guix-strap/guix-partition | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/guix-strap/guix-partition b/guix-strap/guix-partition new file mode 100755 index 0000000..184ea96 --- /dev/null +++ b/guix-strap/guix-partition @@ -0,0 +1,79 @@ +#!/usr/bin/env bash + +set -o emacs; + +CONFIRM="" +DISK="" + +source ./guix-log +source ./guix-env + +EVENT "Partitioning disks" + +confirm() { + if [ "$CONFIRM" == "y" ]; then + exit 0 + fi + read -p "Are you sure: ($1)? [y/N] " CONFIRM + if [ "$CONFIRM" == "y" ]; then + exit 0 + else + exit 1 + fi +} + +check_disk() { + lsblk $1 &> /dev/null || exit 1 + FS=$(df $1 | tail -n 1 | awk '{print $1}') + if [ "$FS" == "none" ]; then + exit 0 + else + exit 1 + fi +} + +get_disk() { + CONFIRM="" + read -ep "Enter disk (e.g. /dev/sda): " DISK + if [ ! -b "$DISK" ]; then + ERROR "$DISK: file does not exist" + get_disk + return + fi + (check_disk "$DISK"); + if [ "$?" -ne 0 ]; then + ERROR "$DISK: not a valid disk" + get_disk + return + fi + (confirm "$DISK"); + if [ "$?" -ne 0 ]; then + get_disk + fi +} + +get_disk + +EVENT "Partitioning disks with fdisk..." + +fdisk "$DISK" <<EOF +g +n + + ++1GiB +t +EFI System +n + + + +t +2 +Linux Filesystem +w +EOF + +echo "DISK=\"$DISK\"" >> ./guix-env + +EVENT "Disks have been successfully partitioned on $DISK" |