mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
* Add wireless-regdb alongside iwd Needed for regulatory compliance for Wi-Fi and enabling some bands on some chipsets * Add wireless-regdb * Changed location of wireless-regdb install * configure the wireless-regdom during install * remove extra newline * don't unset the variable too early * also set the region as part of the script * writing to wireless-regdom requires root * need to use tee * changing logic since this is brought in as source * handle timezones that start with country code already --------- Co-authored-by: Nirav Patel <eclecticc@users.noreply.github.com>
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# First check that wireless-regdb is there
|
|
if [ -f "/etc/conf.d/wireless-regdom" ]; then
|
|
unset WIRELESS_REGDOM
|
|
. /etc/conf.d/wireless-regdom
|
|
fi
|
|
|
|
# If the region is already set, we're done
|
|
if [ ! -n "${WIRELESS_REGDOM}" ]; then
|
|
# Get the current timezone
|
|
if [ -e "/etc/localtime" ]; then
|
|
TIMEZONE=$(readlink -f /etc/localtime)
|
|
TIMEZONE=${TIMEZONE#/usr/share/zoneinfo/}
|
|
|
|
# Some timezones are formatted with the two letter country code at the start
|
|
COUNTRY="${TIMEZONE%%/*}"
|
|
|
|
# If we don't have a two letter country, get it from the timezone table
|
|
if [[ ! "$COUNTRY" =~ ^[A-Z]{2}$ ]] && [ -f "/usr/share/zoneinfo/zone.tab" ]; then
|
|
COUNTRY=$(awk -v tz="$TIMEZONE" '$3 == tz {print $1; exit}' /usr/share/zoneinfo/zone.tab)
|
|
fi
|
|
|
|
# Check if we have a two letter country code
|
|
if [[ "$COUNTRY" =~ ^[A-Z]{2}$ ]]; then
|
|
# Append it to the wireless-regdom conf file that is used at boot
|
|
echo "WIRELESS_REGDOM=\"$COUNTRY\"" | sudo tee -a /etc/conf.d/wireless-regdom > /dev/null
|
|
|
|
# Also set it one off now
|
|
if command -v iw &> /dev/null; then
|
|
sudo iw reg set ${COUNTRY}
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|