#!/bin/sh echo "this is meant to be run from the iso!!!" if [ $(whoami) = nixos ] ; then echo "iso detected. continue!" else echo "you don't appear to be in the install iso." echo -n "are you SURE??? (y/N) " read sure if ! [ "$sure" = "y" ] ; then echo "ok. exiting." exit 0 fi echo "i will continue." fi lsblk echo -n "> what drive to install on? /dev/" read drive sudo fdisk "/dev/$drive" << EOF o n p 1 a w EOF if [ $? != 0 ] ; then exit 1 ; fi echo "> created DOS partition table on /dev/$drive with one bootable partition." sudo mkfs.ext4 /dev/$drive*1 || exit 1 # /dev/sda 1 or /dev/nvme0n1 p1 => *1 instead of just 1 echo "> formatted." sudo mount /dev/$drive*1 /mnt || exit 1 echo "> mounted." echo "> generating config" sudo nixos-generate-config --root /mnt cd /mnt/etc/nixos echo -n "hostname: " sudo sed -i -E "s/^}\$/ boot.loader.grub.device = \"\/dev\/$drive\";\n networking.hostName = \"$(head -n1)\";\n}/" hardware-configuration.nix echo "> installing git" nix-env -i git > /dev/null || exit 1 echo "> downloading tudbut/nix-setup" sudo git clone https://git.tudbut.de/tudbut/nix-setup sudo rm configuration.nix pushd nix-setup ; sudo mv $(ls -a) .. ; popd echo "> initializing" sudo bash init.sh