nixPrepare.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/usr/bin/env bash
  2. WIFI=""
  3. while [[ ! $WIFI =~ [yYnN] ]]; do
  4. read -p "Setup wifi? [Y/n] " WIFI
  5. if [[ -z $WIFI ]]; then WIFI=Y; fi
  6. done
  7. if [[ $WIFI =~ [Yy] ]]; then
  8. read -p "Wifi - SSID: " SSID
  9. read -s -p "Wifi - PSK: " PSK
  10. echo
  11. read -p "Wifi - Interface: [auto]" INTERFACE
  12. if [[ -z $INTERFACE || $INTERFACE == "auto" ]]; then
  13. INTERFACE=$(iwconfig 2>/dev/null | grep "^\S" | awk '{print $1}')
  14. fi
  15. if [[ -z $SSID ]]; then
  16. echo "SSID is missing"
  17. exit 1
  18. fi
  19. if [[ -z $INTERFACE ]]; then
  20. echo "Could not get wiresless interface"
  21. exit 1
  22. fi
  23. for PID in $(pidof wpa_supplicant); do
  24. echo "Killing existing wpa_supplicant $PID"
  25. sudo kill -9 $PID
  26. sudo ip a flush dev $INTERFACE
  27. done
  28. echo "network={" > wpa_supplicant.conf
  29. echo " ssid=\"$SSID\"" >> wpa_supplicant.conf
  30. if [[ ! -z $PSK ]]; then
  31. echo " psk=\"$PSK\"" >> wpa_supplicant.conf
  32. fi
  33. echo "}" >> wpa_supplicant.conf
  34. sudo wpa_supplicant -B -c wpa_supplicant.conf -i $INTERFACE
  35. for i in {1..10}; do
  36. ping -c 1 -w 1 1.1.1.1 > /dev/null 2>&1 && break
  37. done
  38. fi
  39. if ! ping -c 1 -w 1 1.1.1.1 > /dev/null 2>&1; then
  40. echo "No internet connection"
  41. exit 1
  42. fi
  43. INSTALL=""
  44. while [[ ! $INSTALL =~ [yYnN] ]]; do
  45. read -p "Install from remote flake? [Y/n] " INSTALL
  46. if [[ -z $INSTALL ]]; then INSTALL=Y; fi
  47. done
  48. if [[ $INSTALL =~ [Yy] ]]; then
  49. echo "sudo nixos-install --flake git+https://gogs.viktorgrahn.com/viktor/nixFlake.git?ref=main"
  50. sudo nixos-install --flake "git+https://gogs.viktorgrahn.com/viktor/nixFlake.git?ref=main"
  51. fi