refactor: use flakes with deploy-rs & nixos-hardware

This commit is contained in:
Felix Buehler 2022-06-03 17:47:16 +02:00
parent b1ef65594a
commit d17c2b69a0
81 changed files with 1179 additions and 317 deletions

View file

@ -1,88 +0,0 @@
#!/usr/bin/env bash
set -eux -o pipefail
BASE="$(dirname "$(readlink -f "$0")")"
. "${BASE}/helpers.sh"
export HOST=serverle
export DRIVE_ROOT=/dev/disk/by-id/usb-Seagate_Expansion_2HC015KJ-0\:0
export NIXOS_FILES="${NIXOS_FILES:-$PWD}"
export CHROOT_BASE="/mnt/newroot-${HOST}"
export DRIVE_ROOT_LUKS=/dev/mapper/luks-root
PARTSEP="-part"
ask_if_sure
mp_umount /
################################################################################################
echo "Starting Root SSD"
lvm_remove_lv /dev/vg_root/lv_root
lvm_remove_lv /dev/vg_root/lv_srv
lvm_remove_vg vg_root
lvm_remove_pv "${DRIVE_ROOT_LUKS}"
luks_close "$(basename "${DRIVE_ROOT_LUKS}")"
#zero_blockdev "${DRIVE_ROOT}" # trim support is not available on external drives
parttable_clear "${DRIVE_ROOT}"
# ROOT SSD SETUP
sgdisk \
-o "${DRIVE_ROOT}" \
-n 1:2048:4095 -c 1:"BIOS Boot Partition" -t 1:ef02 \
-n 2:4096:823295 -c 2:"EFI System Partition" -t 2:ef00 \
--largest-new=3 -c 3:"Crypt" -t 3:8309 \
-p
cryptsetup luksFormat "${DRIVE_ROOT}${PARTSEP}3"
cryptsetup luksOpen --allow-discards "${DRIVE_ROOT}${PARTSEP}3" "$(basename "${DRIVE_ROOT_LUKS}")"
pvcreate "${DRIVE_ROOT_LUKS}"
vgcreate vg_root "${DRIVE_ROOT_LUKS}"
lvcreate -L 50GiB -n lv_root vg_root
mkfs.ext4 -L "${HOST}-root" /dev/vg_root/lv_root
lvcreate -L 250GiB -n lv_srv vg_root
mkfs.ext4 -L "${HOST}-srv" /dev/vg_root/lv_srv
lvcreate -L 4GiB -n lv_swap vg_root
mkswap -L "${HOST}-swap" /dev/vg_root/lv_swap
zero_overwrite "${DRIVE_ROOT}${PARTSEP}2"
mkfs.vfat -n "${HOST}-boot" "${DRIVE_ROOT}${PARTSEP}2"
mp_mount /dev/vg_root/lv_root /
mp_mount /dev/vg_root/lv_srv /srv
mp_mount "${DRIVE_ROOT}${PARTSEP}2" /boot
mkdir -p /etc/secrets/initrd
ssh-keygen -t ed25519 -N "" -f "/etc/secrets/initrd/ssh_host_ed25519_key"
mkdir -p "${CHROOT_BASE}/etc/nixos/"
rsync -avH "${NIXOS_FILES}/" "${CHROOT_BASE}/etc/nixos/"
mkdir -p "${CHROOT_BASE}/etc/secrets/initrd"
rsync -avH "/etc/secrets/" "${CHROOT_BASE}/etc/secrets/"
cat >> "${CHROOT_BASE}/etc/nixos/vars-uuids.nix" <<END
{
fs = {
root = "$(blkid -o value -s UUID "/dev/vg_root/lv_root")";
boot = "$(blkid -o value -s UUID "${DRIVE_ROOT}${PARTSEP}2")";
srv = "$(blkid -o value -s UUID "/dev/vg_root/lv_srv")";
swap = "$(blkid -o value -s UUID "/dev/vg_root/lv_swap")";
};
luks = {
root = "$(blkid -o value -s PARTUUID "${DRIVE_ROOT}${PARTSEP}3")";
};
}
END
install_os "${CHROOT_BASE}"