{ wleInterface, wleSSID, # Generate Encrypted Passphrase with: wpa_passphrase wlePassphrase, # TODO: Type # TODO: Multi-Band, if available }: let pkgs = import{}; in { boot.extraModprobeConfig = '' options cfg80211 ieee80211_regdom=US ''; services.udev.packages = [ pkgs.crda ]; services.hostapd = { enable = true; interface = wleInterface; hwMode = "a"; ssid = wleSSID; wpaPassphrase = wlePassphrase; channel = 36; extraConfig = '' max_num_sta=255 logger_syslog=-1 logger_syslog_level=0 logger_stdout=-1 logger_stdout_level=0 #Details for Connecting Clients via WPA2 TKIP auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP #802.11d Regulatory Restrictions Designations for Which Frequencies and Channels are Legal ieee80211d=1 # DFS #ieee80211h=1 country_code=US #802.11n Configurations ieee80211n=1 ht_capab=[LDPC][HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][DSSS_CCK-40] #802.11ac Configurations ieee80211ac=1 vht_capab=[SHORT-GI-80][MAX-MPDU-11454][RXLDPC][TX-STBC-2BY1][MAX-A-MPDU-LEN-EXP3][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN] vht_oper_chwidth=1 vht_oper_centr_freq_seg0_idx=42 #How Many Units of Time Between Beacon Transmissions #beacon_int=100 #Multiplier of How Many Units of Time Between Beacon Transmissions #dtim_period=2 #(e.g. 100 milliseconds(ms) * 2 = 200 ms between beacons) #Something About WMM Clients Needing this wmm_enabled=1 ###To Be Completely Honest-- I'm Not Entirely Certain What the Rest of this file does #QoS Type of Traffic Management Based on Traffic Type ##Background #wmm_ac_bk_cwmin=4 #wmm_ac_bk_cwmax=10 #wmm_ac_bk_aifs=7 #wmm_ac_bk_txop_limit=0 #wmm_ac_bk_acm=0 ##Best Effort #wmm_ac_be_aifs=3 #wmm_ac_be_cwmin=4 #wmm_ac_be_cwmax=10 #wmm_ac_be_txop_limit=0 #wmm_ac_be_acm=0 ##Video #wmm_ac_vi_aifs=2 #wmm_ac_vi_cwmin=3 #wmm_ac_vi_cwmax=4 #wmm_ac_vi_txop_limit=94 #wmm_ac_vi_acm=0 ##Voice #wmm_ac_vo_aifs=2 #wmm_ac_vo_cwmin=2 #wmm_ac_vo_cwmax=3 #wmm_ac_vo_txop_limit=47 #wmm_ac_vo_acm=0 ''; }; }