Created
April 6, 2023 21:55
-
-
Save stites/af0a2f820cf2cb996b5c6fcfe1734820 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zpool create \ | |
-o compatibility=grub2 \ | |
-o ashift=12 \ | |
-o autotrim=on \ | |
-O acltype=posixacl \ | |
-O canmount=off \ | |
-O compression=lz4 \ | |
-O devices=off \ | |
-O normalization=formD \ | |
-O relatime=on \ | |
-O xattr=sa \ | |
-O mountpoint=/boot \ | |
-R /mnt \ | |
bpool \ | |
$(for i in ${DISK}; do | |
printf "$i-part2 "; | |
done) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i in ${DISK}; do | |
mkfs.vfat -n EFI ${i}-part1 | |
mkdir -p /mnt/boot/efis/${i##*/}-part1 | |
mount -t vfat ${i}-part1 /mnt/boot/efis/${i##*/}-part1 | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; | |
boot.kernelParams = [ "nohibernate" ]; | |
boot.kernelParams = [ "zfs.zfs_arc_max=12884901888" ]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zfs create -o mountpoint=legacy rpool/nixos/root | |
mount -t zfs rpool/nixos/root /mnt/ | |
zfs create -o mountpoint=legacy rpool/home | |
mkdir /mnt/home | |
mount -t zfs rpool/home /mnt/home | |
zfs create -o mountpoint=legacy rpool/home/stites | |
mkdir /mnt/home/stites | |
mount -t zfs rpool/home /mnt/home/stites | |
zfs create -o mountpoint=legacy rpool/nixos/var | |
zfs create -o mountpoint=legacy rpool/nixos/var/lib | |
zfs create -o mountpoint=legacy rpool/nixos/var/log | |
zfs create -o mountpoint=none bpool/nixos | |
zfs create -o mountpoint=legacy bpool/nixos/root | |
mkdir /mnt/boot | |
mount -t zfs bpool/nixos/root /mnt/boot | |
mkdir -p /mnt/var/log | |
mkdir -p /mnt/var/lib | |
mount -t zfs rpool/nixos/var/lib /mnt/var/lib | |
mount -t zfs rpool/nixos/var/log /mnt/var/log | |
zfs create -o mountpoint=legacy rpool/nixos/empty | |
zfs snapshot rpool/nixos/empty@start | |
zfs create -o refreservation=10G -o mountpoint=none zroot/reserved |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zpool create \ | |
-o ashift=12 \ | |
-o autotrim=on \ | |
-R /mnt \ | |
-O acltype=posixacl \ | |
-O canmount=off \ | |
-O compression=zstd \ | |
-O dnodesize=auto \ | |
-O normalization=formD \ | |
-O relatime=on \ | |
-O xattr=sa \ | |
-O mountpoint=/ \ | |
rpool \ | |
$(for i in ${DISK}; do | |
printf "$i-part3 "; | |
done) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zfs create \ | |
-o canmount=off \ | |
-o mountpoint=none \ | |
rpool/nixos | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i in ${DISK}; do | |
# wipe flash-based storage device to improve | |
# performance. | |
# ALL DATA WILL BE LOST | |
blkdiscard -f $i | |
sgdisk --zap-all $i | |
sgdisk -n1:1M:+1G -t1:EF00 $i | |
sgdisk -n2:0:+4G -t2:BE00 $i | |
sgdisk -n4:0:+${INST_PARTSIZE_SWAP}G -t4:8200 $i | |
if test -z $INST_PARTSIZE_RPOOL; then | |
sgdisk -n3:0:0 -t3:BF00 $i | |
else | |
sgdisk -n3:0:+${INST_PARTSIZE_RPOOL}G -t3:BF00 $i | |
fi | |
sgdisk -a1 -n5:24K:+1000K -t5:EF02 $i | |
sync && udevadm settle && sleep 3 | |
cryptsetup open --type plain --key-file /dev/random $i-part4 ${i##*/}-part4 | |
mkswap /dev/mapper/${i##*/}-part4 | |
swapon /dev/mapper/${i##*/}-part4 | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment