about summary refs log tree commit diff stats
path: root/bootstrap/install/install.sh
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-07-01 18:45:39 +0200
committerSoispha <soispha@vhack.eu>2023-07-10 16:44:12 +0200
commitc3d2c88eed96b82fa8e83e8b6ee53c414a0e4431 (patch)
treea5a9553ba5cbf5b6095ae575ecca27356b73c96d /bootstrap/install/install.sh
parentFeat(system/disks): Add luks partition (diff)
downloadnixos-config-c3d2c88eed96b82fa8e83e8b6ee53c414a0e4431.tar.gz
nixos-config-c3d2c88eed96b82fa8e83e8b6ee53c414a0e4431.zip
Refactor(bootstrap): Use disko
Diffstat (limited to '')
-rwxr-xr-xbootstrap/install/install.sh158
1 files changed, 0 insertions, 158 deletions
diff --git a/bootstrap/install/install.sh b/bootstrap/install/install.sh
deleted file mode 100755
index 74642d08..00000000
--- a/bootstrap/install/install.sh
+++ /dev/null
@@ -1,158 +0,0 @@
-#! /usr/bin/env dash
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
-bsc() {
-    msg2 "$(btrfs subvolume create "$1" || die "Creating of subvol $1 failed")";
-}
-
-mne() {
-    mount --mkdir --options compress-force=zstd:15,subvol="$1" $DISK_ROOT "$2" || die "Mounting of $1 failed";
-}
-
-
-available_disks="$(mktmp)";
-lsblk -J | jq '.[] | map(.name) | [foreach .[] as $item ({item: null, index: -1}; {$item, index: (.index + 1)})]' > $available_disks;
-
-
-[ "$(jq '.[]' "$available_disks" | wc -l)" -eq 0 ] && die "No disks found"
-msg "Select a disk to format:\n"
-
-i=9999; # nobody will have so many disks attached
-
-while ! jq -e --argjson i "$i" '.[$i]' "$available_disks" > /dev/null 2>&1; do
-    for disk in $(jq -c '.[]' "$available_disks" ); do
-        printf "%4s) %s \n" "$(echo "$disk" | jq '.index')" "$(echo "$disk" | jq '.item' | tr -d "\"")";
-    done
-    printf "%4s) Exit\n" "q"
-    readp  "Enter a option: " disk
-
-    if [ $disk = "q" ];then
-        exit 1
-    else
-        i="$disk"
-    fi
-    if jq -e --argjson i "$i" 'nth($i)' "$available_disks"  > /dev/null 2>&1; then
-        disk=$(mktmp);
-        jq -e --argjson i "$i" 'nth($i)' "$available_disks" > "$disk";
-    else
-        warning "No disk selected. Select a disk to continue.\n"
-    fi
-done
-
-readp "Do you really want to delete all data on disk $(jq '.item' "$disk")? [N/y]: " result
-case $result in
-    [Yy])
-        msg "Great, deleting everything..."
-        disk="$(jq '.item' "$disk" | tr -d "\"")"
-        ;;
-    *)
-        msg "Sure, keep your data"
-        exit 1
-        ;;
-esac
-
-sgdisk -Z "/dev/${disk}" > /dev/null|| die "Zapping failed"
-
-sgdisk -n 1:0:+550M -n 2:0:"$ENDSECTOR" -t 1:ef00 -t 2:8300 "/dev/${disk}" > /dev/null|| die "Partitioning failed"
-
-case "$disk" in
-    "nvme"*)
-        export DISK_EFI="/dev/${disk}"p1
-        export DISK_ROOT="/dev/${disk}"p2
-        ;;
-    "sd"* |"vd"*)
-        export DISK_EFI="/dev/${disk}"1
-        export DISK_ROOT="/dev/${disk}"2
-        ;;
-    *)
-        die "The disk type: ${disk} is not yet supported!"
-        ;;
-esac
-
-msg "Started Formatting..."
-mkfs.fat -F32 "$DISK_EFI" > /dev/null || die "Formatting(fat32) failed"
-mkfs.btrfs -f "$DISK_ROOT" > /dev/null || die "Formatting(btrfs) failed"
-
-
-msg "Mounting..."
-mount -t btrfs $DISK_ROOT /mnt
-cd /mnt || die "(Bug): no /mnt"
-bsc nix-store
-bsc persistent-storage
-bsc persistent-storage/nixos-config
-bsc persistent-storage/.snapshots
-bsc swap
-cd /
-umount -R /mnt
-mount -t tmpfs none /mnt
-mount --mkdir "$DISK_EFI" /mnt/boot
-
-mne nix-store /mnt/nix
-mne persistent-storage /mnt/srv
-mne swap /mnt/swap
-
-mount --mkdir --options bind /mnt/srv/nixos-config /mnt/etc/nixos
-
-msg "Finished mounting and generating btrfs subvolumes"
-
-msg "Creating swapfile..."
-msg2 "$(btrfs filesystem mkswapfile --size "$(free -m | awk '{if (NR==2) {printf "%sm\n", $2 + 500}}')" /mnt/swap/swapfile)";
-msg "Finished creating swapfile!"
-msg "Important information:"
-msg2 "Swapfile UUID is: $(findmnt -no UUID -T /mnt/swap/swapfile)";
-msg2 "Swapfile resume offset is: $(btrfs inspect-internal map-swapfile -r /mnt/swap/swapfile)";
-msg2 "Root-disk UUID is: $(lsblk -no UUID -T $DISK_ROOT)";
-msg2 "EFI-disk UUID is: $(lsblk -no UUID -T $DISK_EFI)";
-warning "This information needs to be entered in the host configuration BEFORE rebuilding it. Otherwise the system won't boot!"
-
-info_applied=false;
-while [ "$info_applied" = false ];do
-    readp "Have you updated your chosen host with this information? [N/y]: " result
-    case $result in
-        [Yy])
-            info_applied=true;
-            ;;
-        *)
-            warning "You won't be able to boot, if you don't update it!"
-            ;;
-    esac
-done
-
-msg "Checking for incompatibilities..."
-ssd_or_hdd=$(cat /sys/block/$disk/queue/rotational);
-case "$ssd_or_hdd" in
-    0)
-        msg2 "You seem to use a ssd."
-        trim_support=$(lsblk --bytes --json --discard | jq --arg name "$disk" '.blockdevices | .[] | select(.name == $name) | (.["disc-gran"] + .["disc-max"]) != 0');
-        case $trim_support in
-            "true")
-                msg2 "Yay, your ssd supports trim, go on and activate it";
-                ;;
-            "false")
-                msg2 "Nay, your ssd doesn't support trim, go on";
-                ;;
-            *)
-                warning "Your ssd doesn't seem to exists, if this bothers you please open an issue.'";
-                ;;
-        esac
-        ;;
-    1)
-        msg2 "You seem to use a hdd there is nothing you have to do";
-        ;;
-    *)
-        warning "There is no indicator, which shows, which drive your are using.\n This means, that you have to check yourself, which optimizations you should activate."
-        ;;
-esac
-
-
-readp "Do you want to continue with nixos-install? [N/y]: " result
-case $result in
-    [Yy])
-        nix run "git+https://codeberg.org/soispha/nixos-config#setup" --experimental-features 'nix-command flakes';
-        ;;
-    *)
-        msg "Sure, do it yourself"
-        exit 1
-        ;;
-esac