diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2026-10-03 12:01:25 +0200 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2026-10-03 12:48:19 +0200 |
| commit | 4dbc4785c35a535c13ee62de4efcc500ad102e60 (patch) | |
| tree | fcc9d5878cf174dc66e1811c5072d18d66955f16 | |
| parent | 45ffd23635778eff4d5deb32b1ae0caea36c4a02 (diff) | |
| download | chaos-master.tar.gz chaos-master.tar.bz2 chaos-master.tar.xz | |
| -rw-r--r-- | flake.nix | 79 |
1 files changed, 44 insertions, 35 deletions
@@ -79,52 +79,61 @@ (pkgs.writeShellApplication { name = "format-disk"; text = '' - DISK=/dev/"$1" - # create crypt - cryptsetup luksFormat "$DISK"2 - cryptsetup luksOpen "$DISK"2 crypt - until [ -e /dev/nixos ] - do - sleep 1 - done - # split into logical volumes - pvcreate /dev/mapper/crypt - vgcreate nixos /dev/mapper/crypt - echo '===================================================================' - echo '===================================================================' - echo ' lsmem' - echo '===================================================================' - lsmem - echo '===================================================================' - echo 'Input swapsize:' - read -r SWAPSIZE - lvcreate -L "$SWAPSIZE" --name swap nixos - lvcreate -l 100%FREE --name root nixos - # mount - mkswap /dev/nixos/swap - mkfs.ext4 /dev/nixos/root - mount /dev/nixos/root /mnt - # create luks keys - mkdir --parents /mnt/etc/luks/keys && pushd "$_" - dd bs=1k count=4 if=/dev/random of=master - dd bs=1k count=4 if=/dev/random of=tmp - chmod 400 master tmp - cryptsetup luksAddKey "$DISK"2 - popd + DISK="$1" + BOOT="$DISK$2" + CRYPT="$DISK$3" + # create crypt + cryptsetup luksFormat "$CRYPT" + cryptsetup luksOpen "$CRYPT" crypt + until [ -e /dev/mapper/crypt ] + do + sleep 1 + done + # split into logical volumes + pvcreate /dev/mapper/crypt + vgcreate nixos /dev/mapper/crypt + echo '===================================================================' + echo '===================================================================' + echo ' lsmem' + echo '===================================================================' + lsmem + echo '===================================================================' + echo 'Input swapsize:' + read -r SWAPSIZE + lvcreate -L "$SWAPSIZE" --name swap nixos + lvcreate -l 100%FREE --name root nixos + # create file systems + mkswap /dev/nixos/swap + mkfs.ext4 /dev/nixos/root + mkfs.fat -F 32 -n boot "$BOOT" + # mount + mount /dev/nixos/root /mnt + mkdir /mnt/boot + mount "$BOOT" /mnt/boot + swapon /dev/nixos/swap + # create luks keys + mkdir --parents /mnt/etc/luks/keys && pushd "$_" + dd bs=1k count=4 if=/dev/random of=master + dd bs=1k count=4 if=/dev/random of=tmp + chmod 400 master tmp + cryptsetup luksAddKey "$CRYPT" master + popd ''; }) (pkgs.writeShellApplication { name = "mount-system"; text = '' - DISK=/dev/"$1" - cryptsetup open "$DISK"2 crypt + DISK="$1" + BOOT="$DISK$2" + CRYPT="$DISK$3" + cryptsetup open "$CRYPT" crypt until [ -e /dev/nixos ] do sleep 1 done mount /dev/nixos/root /mnt + mount "$BOOT" /mnt/boot swapon /dev/nixos/swap - mount "$DISK"1 /mnt/boot ''; }) (pkgs.writeShellApplication { |
