Interface

This commit is contained in:
Aaron Honeycutt 2025-02-18 20:02:01 +00:00
parent 31cce1d998
commit 6c8f35c39f

View file

@ -1,7 +1,3 @@
# Figure out how much RAM the system has
# then sets it as a variable for hibernation support
ramTotal=$(free -h | awk '/^Mem:/{print $2}'| awk -FG {'print$1'})
# Step 1: Choosing the drive for the installation # Step 1: Choosing the drive for the installation
## Detect and list the drives. ## Detect and list the drives.
@ -11,7 +7,10 @@ lsblk -f
echo "----------" echo "----------"
echo "Which drive do we want to use for this installation?" echo "Which drive do we want to use for this installation?"
echo "For example /dev/sda or /dev/nvme0n1" echo "For example /dev/sda or /dev/nvme0n1"
read driveName
echo ""
read -p "Enter your drive choice: " driveName
echo ""
## Download Disko file ## Download Disko file
cd /tmp cd /tmp
@ -23,12 +22,17 @@ sudo sed -i "s#/dev/sda#$driveName#g" /tmp/disko-config.nix
# Step 2: Partitioning the drive used for the installation # Step 2: Partitioning the drive used for the installation
## Run Disko to partition the disk ## Run Disko to partition the disk
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko /tmp/disko-config.nix sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount /tmp/disko-config.nix --yes-wipe-all-disks
## Generate Nix configuration ## Generate Nix configuration
sudo nixos-generate-config --no-filesystems --root /mnt sudo nixos-generate-config --no-filesystems --root /mnt
## Copies over the disko file for running `nixos-install`
sudo mv /tmp/disko-config.nix /mnt/etc/nixos sudo mv /tmp/disko-config.nix /mnt/etc/nixos
## Confirm that partitions are mounted
lsblk -f
## Downloads and places the predefinded generic flake to use ## Downloads and places the predefinded generic flake to use
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/flake.nix > flake.nix; sudo mv -f flake.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/flake.nix > flake.nix; sudo mv -f flake.nix /mnt/etc/nixos/
@ -44,13 +48,15 @@ Which device are you installing to?
1) Virtual Machine 1) Virtual Machine
2) Lemur Pro 13 (Garrus) 2) Lemur Pro 13 (Garrus)
3) nebula49 (Shepard) 3) nebula49 (Shepard)
4) Home Server (EDI) - Do Not Use
0) Generic 0) Generic
EOF EOF
read hostChoice
echo ""
read -p "Enter your device choice: " hostChoice
echo ""
if [ $hostChoice = 1 ]; then if [ $hostChoice = 1 ]; then
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/hosts/x86_64/configuration.nix > vm.nix; sudo mv -f vm.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/hosts/x86_64/vm/configuration.nix > vm.nix; sudo mv -f vm.nix /mnt/etc/nixos/
sudo nixos-install --flake /mnt/etc/nixos#vm sudo nixos-install --flake /mnt/etc/nixos#vm
elif [ $hostChoice = 2 ]; then elif [ $hostChoice = 2 ]; then
@ -63,12 +69,9 @@ elif [ $hostChoice = 3 ]; then
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/desktops/gnome.nix > gnome.nix; sudo mv -f gnome.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/desktops/gnome.nix > gnome.nix; sudo mv -f gnome.nix /mnt/etc/nixos/
sudo nixos-install --flake /mnt/etc/nixos#shepard sudo nixos-install --flake /mnt/etc/nixos#shepard
elif [ $hostChoice = 4 ]; then
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/hosts/x86_64/edi/configuration.nix > edi.nix; sudo mv -f edi.nix /mnt/etc/nixos/
sudo nixos-install --flake /mnt/etc/nixos#edi
elif [ $hostChoice = 0 ]; then elif [ $hostChoice = 0 ]; then
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/flake.nix > flake.nix; sudo mv -f flake.nix /mnt/etc/nixos/ curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/flake.nix > flake.nix; sudo mv -f flake.nix /mnt/etc/nixos/
curl https://gitlab.com/ahoneybun/nix-configs/-/raw/main/desktops/gnome.nix > gnome.nix; sudo mv -f gnome.nix /mnt/etc/nixos/
sudo nixos-install --flake /mnt/etc/nixos#nixos sudo nixos-install --flake /mnt/etc/nixos#nixos
fi fi