update i15 config

This commit is contained in:
Leonardo Eugênio 2022-12-20 08:47:26 -03:00
parent ff97141e6f
commit dbf36d1809

View file

@ -1,9 +1,6 @@
#!/bin/sh #!/bin/sh
test -f ./flake.nix || { set -xe
echo 'This should be run from the root of the repository!'
exit 1
}
lsblk lsblk
echo 'Enter the name of the device to WIPE and install (something like "sda"):' echo 'Enter the name of the device to WIPE and install (something like "sda"):'
@ -13,60 +10,48 @@ echo 'Enter a passphrase to encrypt the disk:'
read -s DRIVE_PASSPHRASE read -s DRIVE_PASSPHRASE
echo "Creating partition table..." echo "Creating partition table..."
parted -s "/dev/${DRIVE_ID}" -- mklabel gpt || exit 1 parted -s "/dev/${DRIVE_ID}" -- mklabel gpt
echo "Creating EFI system partition..." echo "Creating EFI system partition..."
parted -s "/dev/${DRIVE_ID}" -- mkpart ESP 1MiB 1GiB && parted -s "/dev/${DRIVE_ID}" -- mkpart ESP 1MiB 1GiB
parted -s "/dev/${DRIVE_ID}" -- set 1 boot on && parted -s "/dev/${DRIVE_ID}" -- set 1 boot on
mkfs.fat -F32 "/dev/${DRIVE_ID}1" -n NIX_BOOT || exit 1 mkfs.fat -F32 "/dev/${DRIVE_ID}1" -n NIX_BOOT
echo "Creating encrypted root partition..." echo "Creating encrypted root partition..."
parted -s "/dev/${DRIVE_ID}" -- mkpart luks 1GiB 100% && parted -s "/dev/${DRIVE_ID}" -- mkpart luks 1GiB 100%
echo "$DRIVE_PASSPHRASE" | cryptsetup --batch-mode luksFormat --label CRYPT_ROOT "/dev/${DRIVE_ID}2" && echo "$DRIVE_PASSPHRASE" | cryptsetup --batch-mode luksFormat --label CRYPT_ROOT "/dev/${DRIVE_ID}2"
echo "$DRIVE_PASSPHRASE" | cryptsetup luksOpen "/dev/${DRIVE_ID}2" "crypt_root" && { echo "$DRIVE_PASSPHRASE" | cryptsetup luksOpen /dev/disk/by-label/CRYPT_ROOT "crypt_root"
echo "Creating btrfs partition..." echo "Creating btrfs partition..."
mkfs.btrfs --quiet --label NIX_ROOT /dev/mapper/"crypt_root" && mkfs.btrfs --quiet --label NIX_ROOT /dev/mapper/"crypt_root"
MNTPOINT=$(mktemp -d) && MNTPOINT=$(mktemp -d)
mount /dev/mapper/"crypt_root" "$MNTPOINT" && { mount /dev/mapper/"crypt_root" "$MNTPOINT"
echo "Creating subvolumes..." echo "Creating subvolumes..."
btrfs subvolume create "$MNTPOINT"/main btrfs subvolume create "$MNTPOINT"/nixos
btrfs subvolume create "$MNTPOINT"/home btrfs subvolume create "$MNTPOINT"/home
btrfs subvolume create "$MNTPOINT"/swap btrfs subvolume create "$MNTPOINT"/swap
}
echo "Closing btrfs partition..." echo "Closing btrfs partition..."
umount -Rl "$MNTPOINT" && umount -Rl "$MNTPOINT"
rm -rf "$MNTPOINT" rm -rf "$MNTPOINT"
echo "Mounting root btrfs submodule..." echo "Mounting root btrfs submodule to '$MNTPOINT' ..."
MNTPOINT=$(mktemp -d) && MNTPOINT=$(mktemp -d)
mount /dev/mapper/"crypt_root" "$MNTPOINT" -o subvol=main,noatime,compress=zstd && { mount /dev/disk/by-label/NIX_ROOT "$MNTPOINT" -o subvol=nixos,noatime,compress=zstd
echo "Creating and mounting EFI system partition mountpoint..." echo "Creating and mounting EFI system partition mountpoint..."
mkdir -p "$MNTPOINT/boot/efi" && mkdir -p "$MNTPOINT/boot/efi"
mount "/dev/${DRIVE_ID}1" "$MNTPOINT/boot/efi" && mount /dev/disk/by-label/NIX_BOOT "$MNTPOINT/boot/efi"
echo "Creating home partition mountpoint..." && echo "Creating home partition mountpoint..."
mkdir -p "$MNTPOINT/home" && mkdir -p "$MNTPOINT/home"
mount /dev/mapper/"crypt_root" "$MNTPOINT/home" -o subvol=home,noatime,compress=zstd && mount /dev/disk/by-label/NIX_ROOT "$MNTPOINT/home" -o subvol=home,noatime,compress=zstd
echo "Swapfile" && echo "Swapfile"
mkdir -p "$MNTPOINT/swap" && mkdir -p "$MNTPOINT/swap"
mount /dev/mapper/"crypt_root" "$MNTPOINT/home" -o subvol=swap,noatime && mount /dev/disk/by-label/NIX_ROOT "$MNTPOINT/home" -o subvol=swap,noatime
echo "Installing system..." && echo "Installing system..."
nixos-install --flake .#i15 --root "$MNTPOINT" nixos-generate-config --root "$MNTPOINT"
nixos-install --root "$MNTPOINT"
}
echo "Closing root btrfs submodule..."
umount -Rl "$MNTPOINT" &&
rm -rf "$MNTPOINT"
}
echo "Closing encrypted root partition..."
cryptsetup close "crypt_root"