|
@@ -0,0 +1,54 @@
|
|
|
|
|
+#!/usr/bin/env bash
|
|
|
|
|
+WIFI=""
|
|
|
|
|
+while [[ ! $WIFI =~ [yYnN] ]]; do
|
|
|
|
|
+ read -p "Setup wifi? [Y/n] " WIFI
|
|
|
|
|
+ if [[ -z $WIFI ]]; then WIFI=Y; fi
|
|
|
|
|
+done
|
|
|
|
|
+
|
|
|
|
|
+if [[ $WIFI =~ [Yy] ]]; then
|
|
|
|
|
+ read -p "Wifi - SSID: " SSID
|
|
|
|
|
+ read -s -p "Wifi - PSK: " PSK
|
|
|
|
|
+ echo
|
|
|
|
|
+ read -p "Wifi - Interface: [auto]" INTERFACE
|
|
|
|
|
+
|
|
|
|
|
+ if [[ -z $INTERFACE || $INTERFACE == "auto" ]]; then
|
|
|
|
|
+ INTERFACE=$(iwconfig 2>/dev/null | grep "^\S" | awk '{print $1}')
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ if [[ -z $SSID ]]; then
|
|
|
|
|
+ echo "SSID is missing"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ if [[ -z $INTERFACE ]]; then
|
|
|
|
|
+ echo "Could not get wiresless interface"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ for PID in $(pidof wpa_supplicant); do
|
|
|
|
|
+ echo "Killing existing wpa_supplicant $PID"
|
|
|
|
|
+ sudo kill -9 $PID
|
|
|
|
|
+ sudo ip a flush dev $INTERFACE
|
|
|
|
|
+ done
|
|
|
|
|
+
|
|
|
|
|
+ echo "network={" > wpa_supplicant.conf
|
|
|
|
|
+ echo " ssid=\"$SSID\"" >> wpa_supplicant.conf
|
|
|
|
|
+ if [[ ! -z $PSK ]]; then
|
|
|
|
|
+ echo " psk=\"$PSK\"" >> wpa_supplicant.conf
|
|
|
|
|
+ fi
|
|
|
|
|
+ echo "}" >> wpa_supplicant.conf
|
|
|
|
|
+
|
|
|
|
|
+ sudo wpa_supplicant -B -c wpa_supplicant.conf -i $INTERFACE
|
|
|
|
|
+
|
|
|
|
|
+ for i in {1..10}; do
|
|
|
|
|
+ ping -c 1 -w 1 1.1.1.1 > /dev/null 2>&1 && break
|
|
|
|
|
+ done
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+if ! ping -c 1 -w 1 1.1.1.1 > /dev/null 2>&1; then
|
|
|
|
|
+ echo "No internet connection"
|
|
|
|
|
+ exit 1
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+echo "Checking out nixFlake"
|
|
|
|
|
+nix
|