Update install.sh

This commit is contained in:
Aaron Honeycutt 2023-01-16 19:11:16 +00:00
parent 7ba677837c
commit f84b30afd0

View file

@ -21,10 +21,13 @@ echo +1G # Set +1G as last sector.
echo n # Create new partition (for root). echo n # Create new partition (for root).
echo # Set default partition number. echo # Set default partition number.
echo # Set default first sector. echo # Set default first sector.
echo # Set last sector. echo -4G # Set last sector.
echo t # Change partition type. echo t # Change partition type.
echo 1 # Pick first partition. echo 1 # Pick first partition.
echo 1 # Change first partition to EFI system. echo 1 # Change first partition to EFI system.
echo t # Change partition type.
echo 3 # Pick the last partition.
echo 19 # Change last partition to Swap.
echo w # write changes. echo w # write changes.
) | sudo fdisk $driveName -w always -W always ) | sudo fdisk $driveName -w always -W always
@ -42,60 +45,23 @@ echo "Which is the root partition?"
read rootName read rootName
echo "" echo ""
echo "Do you want Hibernation?" echo "Which is the swap partition?"
echo "1) Yes" read swapName
echo "2) No"
read hibState
# Create EFI partition # Create EFI partition
sudo mkfs.fat -F32 -n EFI $efiName sudo mkfs.fat -F32 -n EFI $efiName
# Encrypt the root partition sudo mkswap $swapName # swap partition
sudo cryptsetup luksFormat -v -s 512 -h sha512 $rootName sudo mkfs.ext4 $rootName # /root partition
sudo e2label $rootName NixOS
# Open the encrypted root partition
sudo cryptsetup luksOpen $rootName crypt-root
sudo pvcreate /dev/mapper/crypt-root
sudo vgcreate lvm /dev/mapper/crypt-root
if [ $hibState = 1 ]; then
sudo lvcreate -L "$ramTotal"G -n swap lvm
else
if [ $hibState = 2 ]; then
sudo lvcreate -L 4G -n swap lvm
fi
fi
sudo lvcreate -l '100%FREE' -n root lvm
# sudo btrfs filesystem label $rootName luks
# sudo cryptsetup config $rootName --label luks
sudo mkswap /dev/lvm/swap # swap partition
sudo mkfs.btrfs -L root /dev/lvm/root # /root partition
# 0. Mount the filesystems. # 0. Mount the filesystems.
sudo swapon /dev/lvm/swap sudo swapon $swapName
sudo mount /dev/lvm/root /mnt sudo mount $rootName /mnt
# Create Subvolumes
sudo btrfs subvolume create /mnt/@
sudo btrfs subvolume create /mnt/@home
# Unmount root # Unmount root
sudo umount /mnt sudo umount /mnt
# Mount the subvolumes.
sudo mount -o noatime,commit=120,compress=zstd:10,subvol=@ /dev/lvm/root /mnt
sudo mkdir /mnt/home/
sudo mount -o noatime,commit=120,compress=zstd:10,subvol=@home /dev/lvm/root /mnt/home
# Mount the EFI partition. # Mount the EFI partition.
sudo mkdir /mnt/boot/ sudo mkdir /mnt/boot/
sudo mount $efiName /mnt/boot sudo mount $efiName /mnt/boot
@ -109,7 +75,7 @@ sudo nixos-generate-config --root /mnt
echo "Default username and password are in the configuration.nix file" echo "Default username and password are in the configuration.nix file"
echo "Password is hashed so it is not plaintext" echo "Password is hashed so it is not plaintext"
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/systems/pinebook-pro.nix > configuration.nix; sudo mv -f configuration.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/systems/configuration.nix > configuration.nix; sudo mv -f configuration.nix /mnt/etc/nixos/
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/programs.nix > programs.nix; sudo mv -f programs.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/programs.nix > programs.nix; sudo mv -f programs.nix /mnt/etc/nixos/
echo "" echo ""
@ -138,6 +104,7 @@ echo ""
echo "Which device are you installing to?" echo "Which device are you installing to?"
echo "1) Oryx Pro (oryp6)" echo "1) Oryx Pro (oryp6)"
echo "2) HP Omen (15-dh0015nr)" echo "2) HP Omen (15-dh0015nr)"
echo "3) Pinebook Pro"
echo "0) None or N/A" echo "0) None or N/A"
read deviceChoice read deviceChoice
@ -152,12 +119,13 @@ else
if [ $deviceChoice = 2 ]; then if [ $deviceChoice = 2 ]; then
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/systems/hp-omen.nix > hp-omen.nix; sudo mv -f hp-omen.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/systems/hp-omen.nix > hp-omen.nix; sudo mv -f hp-omen.nix /mnt/etc/nixos/
sudo sed -i "11 i \ ./hp-omen.nix" /mnt/etc/nixos/configuration.nix sudo sed -i "11 i \ ./hp-omen.nix" /mnt/etc/nixos/configuration.nix
else
if [ $deviceChoice = 3 ]; then
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/systems/pinebook-pro.nix > configuration.nix; sudo mv -f configuration.nix /mnt/etc/nixos/
fi fi
fi fi
# Replace LUKS device with correct partition
sudo sed -i "s|/dev/disk/by-label/luks|$rootName|g" /mnt/etc/nixos/configuration.nix
# Install # Install
sudo nixos-install sudo nixos-install