mirror of
				https://github.com/ItsDrike/nixdots
				synced 2025-10-31 04:06:36 +00:00 
			
		
		
		
	This configuration was simply copied from my old Arch Linux system. There are some issues that still need to be solved, namely with fonts and missing bitcoin price script, but it's mostly minor.
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # shellcheck source=include
 | |
| source "./scripts/include"
 | |
| 
 | |
| STRENGTH_ICONS=("" "" "" "" "" "")
 | |
| DISCONNECTED_ICON=""
 | |
| WIFI_OFF=""
 | |
| 
 | |
| toggle() {
 | |
|   status=$(rfkill -J | jq -r '.rfkilldevices[] | select(.type == "wlan") | .soft' | head -1)
 | |
| 
 | |
|   if [ "$status" = "unblocked" ]; then
 | |
|     rfkill block wlan
 | |
|   else
 | |
|     rfkill unblock wlan
 | |
|   fi
 | |
| }
 | |
| 
 | |
| get_report() {
 | |
|     connection_details="$(nmcli -t -f NAME,TYPE,DEVICE connection show --active | grep wireless | head -n1)"
 | |
|     essid="$(echo $connection_details | cut -d':' -f1)"
 | |
|     device="$(echo $connection_details | cut -d':' -f3)"
 | |
|     if [ -n "$device" ]; then
 | |
|       state="$(nmcli -t -f DEVICE,STATE device status | grep "$device" | head -n1 | cut -d':' -f2)"
 | |
|       signal="$(nmcli -t -f in-use,signal dev wifi | grep "\*" | cut -d':' -f2)"
 | |
|     else
 | |
|       state="unknown"
 | |
|       signal="0"
 | |
|     fi
 | |
| 
 | |
|     if [ "$state" = "disconnected" ] ; then
 | |
|       icon="$DISCONNECTED_ICON"
 | |
|     elif [ "$state" = "unknown" ]; then
 | |
|       icon="$WIFI_OFF"
 | |
|     else
 | |
|       icon="$(pick_icon "$signal" 0 100 "${STRENGTH_ICONS[@]}")"
 | |
|     fi
 | |
| 
 | |
|     jq -n -c --monochrome-output \
 | |
|       --arg essid "$essid" \
 | |
|       --arg icon "$icon" \
 | |
|       --arg state "$state" \
 | |
|       --arg signal "$signal" \
 | |
|       '$ARGS.named'
 | |
| }
 | |
| 
 | |
| case "$1" in
 | |
|   "toggle") toggle ;;
 | |
|   "status") get_report ;;
 | |
|   *) >&2 echo "Invalid usage, argument '$1' not recognized."; exit 1 ;;
 | |
| esac
 |