about summary refs log tree commit diff
path: root/nixos/scripts/dm-wifi
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/scripts/dm-wifi')
-rwxr-xr-xnixos/scripts/dm-wifi42
1 files changed, 42 insertions, 0 deletions
diff --git a/nixos/scripts/dm-wifi b/nixos/scripts/dm-wifi
new file mode 100755
index 0000000..3f94ee5
--- /dev/null
+++ b/nixos/scripts/dm-wifi
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+#
+# script name: dm-wifi
+# Description: Connect to wifi using dmenu
+# Dependencies: dmenu, fzf, rofi, nmcli, Any Nerd Font
+# GitLab: https://www.gitlab.com/dwt1/dmscripts
+# License: https://www.gitlab.com/dwt1/dmscripts/LICENSE
+# Contributor: WitherCubes
+#              Derek Taylor
+
+# Set with the flags "-e", "-u","-o pipefail" cause the script to fail
+# if certain things happen, which is a good thing.  Otherwise, we can
+# get hidden bugs that are hard to discover.
+set -euo pipefail
+
+# shellcheck disable=SC1091
+source ./_dm-helper.sh 2>/dev/null || source _dm-helper.sh 2>/dev/null
+
+source_dmscripts_configs
+
+if configs_are_different; then
+    echo "$(date): configs are different" >>"$DM_CONFIG_DIFF_LOGFILE"
+    sleep 1
+fi
+
+main() {
+    # TODO: Fix cut line at some point
+    bssid=$(nmcli device wifi list | sed -n '1!p' | cut -b 9- | ${MENU} "Select Wifi  :" | cut -d' ' -f1)
+    pass=$(echo "" | ${MENU} "Enter Password  :")
+    # We are disabling a shellcheck warning about using && and || as it doesn't apply here.
+    # shellcheck disable=SC2015
+    [ -n "$pass" ] && nmcli device wifi connect "$bssid" password "$pass" || nmcli device wifi connect "$bssid"
+    sleep 10
+    if ping -q -c 2 -W 2 google.com >/dev/null; then
+        notify-send "Your internet is working :)"
+    else
+        notify-send "Your internet is not working :("
+    fi
+}
+
+MENU="$(get_menu_program "$@")"
+[[ "${BASH_SOURCE[0]}" == "${0}" ]] && main