44 lines
1.5 KiB
Bash
44 lines
1.5 KiB
Bash
#!/bin/sh
|
|
# curl --proto '=https' --tlsv1.2 -sSf https://share.joshuabell.link/nix/onboard.sh
|
|
|
|
# Go to nix configuration
|
|
cd /mnt/etc/nixos
|
|
|
|
# Ask for required variables
|
|
VAR_HOST=$HOSTNAME
|
|
VAR_USER=$USERNAME
|
|
echo "Hostname will be: $VAR_HOST"
|
|
echo "Username will be: $VAR_USER"
|
|
while true; do
|
|
read -p "Do you wish to continue? (y/n)" yn
|
|
case $yn in
|
|
[Yy]* ) break;;
|
|
[Nn]* ) exit;;
|
|
* ) echo "Please answer y/n.";;
|
|
esac
|
|
done
|
|
|
|
# Switch to use labels in hardware-configuration
|
|
ex +'/fileSystems."\/"' +"/by-uuid" +'s#by-uuid/.*"#by-label/NIXROOT"' \
|
|
+'/fileSystems."\/boot"' +"/by-uuid" +'s#by-uuid/.*"#by-label/NIXBOOT"' \
|
|
+"wq" hardware-configuration.nix
|
|
echo "Switched hardware configuration to use labels"
|
|
grep "by-uuid" hardware-configuration.nix # Should show nothing, this will help prompt for changes
|
|
grep "by-label" hardware-configuration.nix
|
|
echo
|
|
|
|
echo "TODO add swap section here that asks for sizes..."
|
|
echo
|
|
|
|
# Download settings needed for initial boot
|
|
curl -O https://share.joshuabell.link/nix/onboard.nix
|
|
# update username and hostname in onboard file
|
|
ex +"%s/%%HOSTNAME%%/$VAR_HOST/g" +"%s/%%USERNAME%%/$VAR_USER/g" +"wq" onboard.nix
|
|
# Import onboard file in configuration.nix
|
|
ex +"%s#hardware-configuration.nix#hardware-configuration.nix ./onboard.nix#g" +"wq" configuration.nix
|
|
echo "Setup onboard.nix in configuration.nix"
|
|
echo
|
|
|
|
echo "Run \`nixos-install\` to finish then reboot"
|
|
echo "It's recommended to verify contents of hardware config first."
|
|
echo
|