Clarify script purpose.
This commit is contained in:
56
nixos-setup/compute-setup.sh
Executable file
56
nixos-setup/compute-setup.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
DISK=/dev/disk/by-id/nvme-eui.002538b981b03d98
|
||||
KEY_DISK=/dev/disk/by-id/usb-Intenso_Micro_Line_22080777640496-0:0
|
||||
|
||||
parted "$DISK" -- mklabel gpt
|
||||
|
||||
parted -a optimal "$DISK" -- mkpart primary 512MiB -8GB
|
||||
udevadm trigger
|
||||
sleep 1
|
||||
cryptsetup -v --keyfile-size 4096 luksFormat "$DISK"-part1 $KEY_DISK
|
||||
cryptsetup open --key-file $KEY_DISK --keyfile-size 4096 "$DISK"-part1 luksroot
|
||||
mkfs.btrfs -f -L btrfs /dev/mapper/luksroot
|
||||
|
||||
parted -a optimal "$DISK" -- mkpart primary linux-swap -8GB 100%
|
||||
|
||||
parted -a optimal "$DISK" -- mkpart ESP fat32 1MB 512MiB
|
||||
parted "$DISK" -- set 3 esp on
|
||||
udevadm trigger
|
||||
sleep 1
|
||||
mkfs.vfat "$DISK"-part3
|
||||
|
||||
mount /dev/mapper/luksroot /mnt
|
||||
btrfs subvolume create /mnt/root
|
||||
btrfs subvolume create /mnt/nix
|
||||
btrfs subvolume create /mnt/persist
|
||||
btrfs subvolume create /mnt/log
|
||||
btrfs subvolume snapshot -r /mnt/root /mnt/root-blank
|
||||
umount /mnt
|
||||
|
||||
mount -o subvol=root,compress=zstd,noatime /dev/mapper/luksroot /mnt
|
||||
|
||||
mkdir /mnt/nix
|
||||
mount -o subvol=nix,compress=zstd,noatime /dev/mapper/luksroot /mnt/nix
|
||||
|
||||
mkdir /mnt/persist
|
||||
mount -o subvol=persist,compress=zstd,noatime /dev/mapper/luksroot /mnt/persist
|
||||
|
||||
mkdir -p /mnt/var/log
|
||||
mount -o subvol=log,compress=zstd,noatime /dev/mapper/luksroot /mnt/var/log
|
||||
|
||||
mkdir /mnt/boot
|
||||
mount "$DISK"-part3 /mnt/boot
|
||||
|
||||
nixos-generate-config --root /mnt
|
||||
|
||||
# only enable here so that it doesn't get included in hardware-configuration.nix
|
||||
mkswap -L swap "$DISK"-part2
|
||||
swapon "$DISK"-part2
|
||||
|
||||
cp configuration.nix /mnt/etc/nixos
|
||||
|
||||
nixos-install
|
||||
|
||||
cp /mnt/etc/nixos/* /mnt/persist/etc/nixos
|
||||
|
||||
echo "done!"
|
||||
|
||||
Reference in New Issue
Block a user