feat: change iso to btrfs

This commit is contained in:
2025-08-07 12:08:19 +02:00
parent 1c9302c773
commit 541f9b3776
3 changed files with 109 additions and 10 deletions

View File

@@ -44,10 +44,12 @@
wait-for mkfs.fat -F 32 -n boot /dev/disk/by-partlabel/BOOT
wait-for [ -b /dev/disk/by-partlabel/NIXOS ]
mkfs.btrfs -f -L nixos /dev/disk/by-partlabel/NIXOS
${cryptsetup}/bin/cryptsetup luksFormat --type=luks2 --label=root /dev/disk/by-partlabel/NIXOS /dev/zero --keyfile-size=1
${cryptsetup}/bin/cryptsetup luksOpen /dev/disk/by-partlabel/NIXOS root --key-file=/dev/zero --keyfile-size=1
mkfs.btrfs -f -L nixos /dev/mapper/root
sync
mount /dev/disk/by-partlabel/NIXOS /mnt
mount /dev/mapper/root /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@nix-store
@@ -56,14 +58,56 @@
umount /mnt
sync
mount -o noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=@ /dev/disk/by-partlabel/NIXOS /mnt
mount -t tmpfs -o size=16G,mode=755 tmpfs /mnt
mkdir -p /mnt/nix
mount -o noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=@ /dev/mapper/root /mnt/nix
mkdir -p /mnt/nix/{store,persist}
mount -o noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=@nix-store /dev/disk/by-partlabel/NIXOS /mnt/nix/store
mount -o noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=@nix-persist /dev/disk/by-partlabel/NIXOS /mnt/nix/persist
mount -o noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=@nix-store /dev/mapper/root /mnt/nix/store
mount -o noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=@nix-persist /dev/mapper/root /mnt/nix/persist
mkdir -p /mnt/nix/persist/home
mkdir -p /mnt/etc/nixos
mkdir -p /mnt/nix/persist/system/etc/nixos
mount --bind /mnt/nix/persist/system/etc/nixos /mnt/etc/nixos
mkdir -p /mnt/root/.ssh
mkdir -p /mnt/nix/persist/system/root/.ssh
mount --bind /mnt/nix/persist/system/root/.ssh /mnt/root/.ssh
mkdir -p /mnt/var/bento
mkdir -p /mnt/nix/persist/system/var/bento
mount --bind /mnt/nix/persist/system/var/bento /mnt/var/bento
mkdir -p /mnt/var/log
mkdir -p /mnt/nix/persist/system/var/log
mount --bind /mnt/nix/persist/system/var/log /mnt/var/log
mkdir -p /mnt/var/lib/bluetooth
mkdir -p /mnt/nix/persist/system/var/lib/bluetooth
mount --bind /mnt/nix/persist/system/var/lib/bluetooth /mnt/var/lib/bluetooth
mkdir -p /mnt/var/lib/docker
mkdir -p /mnt/nix/persist/system/var/lib/docker
mount --bind /mnt/nix/persist/system/var/lib/docker /mnt/var/lib/docker
mkdir -p /mnt/var/lib/flatpak
mkdir -p /mnt/nix/persist/system/var/lib/flatpak
mount --bind /mnt/nix/persist/system/var/lib/flatpak /mnt/var/lib/flatpak
mkdir -p /mnt/var/lib/fprint
mkdir -p /mnt/nix/persist/system/var/lib/fprint
mount --bind /mnt/nix/persist/system/var/lib/fprint /mnt/var/lib/fprint
mkdir -p /mnt/var/lib/nixos
mkdir -p /mnt/nix/persist/system/var/lib/nixos
mount --bind /mnt/nix/persist/system/var/lib/nixos /mnt/var/lib/nixos
mkdir -p /mnt/var/lib/mysql
mkdir -p /mnt/nix/persist/system/var/lib/mysql
mount --bind /mnt/nix/persist/system/var/lib/mysql /mnt/var/lib/mysql
mkdir -p /mnt/etc/NetworkManager/system-connections
mkdir -p /mnt/nix/persist/system/etc/NetworkManager/system-connections
mount --bind /mnt/nix/persist/system/etc/NetworkManager/system-connections /mnt/etc/NetworkManager/system-connections
mkdir /mnt/boot
wait-for mount /dev/disk/by-label/boot /mnt/boot
mkdir -p /mnt/nix/persist/system/etc/ssh
ssh-keygen -t ed25519 -N "" -f /mnt/nix/persist/system/etc/ssh/ssh_host_ed25519_key
ssh-keygen -t rsa -b 4096 -N "" -f /mnt/nix/persist/system/etc/ssh/ssh_host_rsa_key
install -D ${./configuration.nix} /mnt/etc/nixos/configuration.nix
install -D ${./hardware-configuration.nix} /mnt/etc/nixos/hardware-configuration.nix