浏览代码

Added nixPrepare script

Viktor Grahn 1 年之前
父节点
当前提交
ddfe5abce6
共有 1 个文件被更改,包括 54 次插入0 次删除
  1. 54 0
      nixPrepare.sh

+ 54 - 0
nixPrepare.sh

@@ -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