mirror of
https://gitlab.com/ahoneybun/nyxi-installer.git
synced 2025-05-12 11:04:02 -06:00
Update install.sh
This commit is contained in:
parent
7ba677837c
commit
f84b30afd0
1 changed files with 17 additions and 49 deletions
66
install.sh
66
install.sh
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue