pkgs/ap: don't use uci batch
was hiding which command produced an error
This commit is contained in:
parent
b8b4995433
commit
311df51820
100
nix/pkgs/ap.nix
100
nix/pkgs/ap.nix
|
@ -163,22 +163,21 @@ in ''
|
||||||
${uciDeleteAll "network.@switch_vlan"}
|
${uciDeleteAll "network.@switch_vlan"}
|
||||||
${uciDeleteAll "wireless.@wifi"}
|
${uciDeleteAll "wireless.@wifi"}
|
||||||
|
|
||||||
uci batch <<__UCI__
|
uci set system.@system[0].hostname=${hostName}
|
||||||
set system.@system[0].hostname=${hostName}
|
uci set dhcp.@dnsmasq[0].enabled=0
|
||||||
set dhcp.@dnsmasq[0].enabled=0
|
uci set system.@system[0].log_ip=${config.site.net.mgmt.hosts4.logging}
|
||||||
set system.@system[0].log_ip=${config.site.net.mgmt.hosts4.logging}
|
uci set system.@system[0].log_proto=udp
|
||||||
set system.@system[0].log_proto=udp
|
|
||||||
|
|
||||||
# Switch config
|
# Switch config
|
||||||
${optionalString hasSwitch ''
|
${optionalString hasSwitch ''
|
||||||
# Ports ${portsDoc}
|
# Ports ${portsDoc}
|
||||||
${concatMapStrings (net: ''
|
${concatMapStrings (net: ''
|
||||||
add network switch_vlan
|
uci add network switch_vlan
|
||||||
set network.@switch_vlan[-1]=switch_vlan
|
uci set network.@switch_vlan[-1]=switch_vlan
|
||||||
set network.@switch_vlan[-1].device='switch0'
|
uci set network.@switch_vlan[-1].device='switch0'
|
||||||
set network.@switch_vlan[-1].vlan='${toString config.site.net.${net}.vlan}'
|
uci set network.@switch_vlan[-1].vlan='${toString config.site.net.${net}.vlan}'
|
||||||
set network.@switch_vlan[-1].ports='${switchPortsConfig net}'
|
uci set network.@switch_vlan[-1].ports='${switchPortsConfig net}'
|
||||||
set network.@switch_vlan[-1].comment='${net}'
|
uci set network.@switch_vlan[-1].comment='${net}'
|
||||||
|
|
||||||
'') (
|
'') (
|
||||||
sort (net1: net2:
|
sort (net1: net2:
|
||||||
|
@ -193,25 +192,25 @@ in ''
|
||||||
''}
|
''}
|
||||||
|
|
||||||
# mgmt network
|
# mgmt network
|
||||||
set network.mgmt=interface
|
uci set network.mgmt=interface
|
||||||
set network.mgmt.ifname=${if builtins.length (networkInterfaces "mgmt") == 1 then builtins.head (networkInterfaces "mgmt") else throw "No interface for mgmt"}
|
uci set network.mgmt.ifname=${if builtins.length (networkInterfaces "mgmt") == 1 then builtins.head (networkInterfaces "mgmt") else throw "No interface for mgmt"}
|
||||||
set network.mgmt.proto=static
|
uci set network.mgmt.proto=static
|
||||||
set network.mgmt.ipaddr=${config.site.net.mgmt.hosts4.${hostName}}
|
uci set network.mgmt.ipaddr=${config.site.net.mgmt.hosts4.${hostName}}
|
||||||
set network.mgmt.netmask=${self.lib.netmasks.${elemAt (
|
uci set network.mgmt.netmask=${self.lib.netmasks.${elemAt (
|
||||||
builtins.split "/" config.site.net.mgmt.subnet4
|
builtins.split "/" config.site.net.mgmt.subnet4
|
||||||
) 2}}
|
) 2}}
|
||||||
set network.mgmt.gateway=${config.site.net.mgmt.hosts4.mgmt-gw}
|
uci set network.mgmt.gateway=${config.site.net.mgmt.hosts4.mgmt-gw}
|
||||||
set network.mgmt.ip6addr=${config.site.net.mgmt.hosts6.dn42.${hostName}}/64
|
uci set network.mgmt.ip6addr=${config.site.net.mgmt.hosts6.dn42.${hostName}}/64
|
||||||
set network.mgmt.ip6gw=${config.site.net.mgmt.hosts6.dn42.mgmt-gw}
|
uci set network.mgmt.ip6gw=${config.site.net.mgmt.hosts6.dn42.mgmt-gw}
|
||||||
delete network.mgmt.dns
|
uci delete network.mgmt.dns
|
||||||
add_list network.mgmt.dns=${config.site.net.serv.hosts4.dnscache}
|
uci add_list network.mgmt.dns=${config.site.net.serv.hosts4.dnscache}
|
||||||
add_list network.mgmt.dns=${config.site.net.serv.hosts6.dn42.dnscache}
|
uci add_list network.mgmt.dns=${config.site.net.serv.hosts6.dn42.dnscache}
|
||||||
|
|
||||||
delete network.globals.ula_prefix
|
uci delete network.globals.ula_prefix
|
||||||
# delete unused networks
|
# delete unused networks
|
||||||
${concatMapStrings (net:
|
${concatMapStrings (net:
|
||||||
lib.optionalString (! hostConfig.interfaces ? ${net}) ''
|
lib.optionalString (! hostConfig.interfaces ? ${net}) ''
|
||||||
delete network.${net}
|
uci delete network.${net}
|
||||||
''
|
''
|
||||||
) ([ "lan" "wan" "wan6" ] ++ builtins.attrNames config.site.net)}
|
) ([ "lan" "wan" "wan6" ] ++ builtins.attrNames config.site.net)}
|
||||||
|
|
||||||
|
@ -220,16 +219,16 @@ in ''
|
||||||
let
|
let
|
||||||
iface = hostConfig.interfaces.${net};
|
iface = hostConfig.interfaces.${net};
|
||||||
in optionalString (net != "mgmt" && iface.type == "bridge") ''
|
in optionalString (net != "mgmt" && iface.type == "bridge") ''
|
||||||
set network.${net}=interface
|
uci set network.${net}=interface
|
||||||
set network.${net}.type=bridge
|
uci set network.${net}.type=bridge
|
||||||
set network.${net}.proto=static
|
uci set network.${net}.proto=static
|
||||||
set network.${net}.ifname='${concatStringsSep " " (networkInterfaces net)}'
|
uci set network.${net}.ifname='${concatStringsSep " " (networkInterfaces net)}'
|
||||||
|
|
||||||
'') (builtins.attrNames hostConfig.interfaces)
|
'') (builtins.attrNames hostConfig.interfaces)
|
||||||
}
|
}
|
||||||
|
|
||||||
delete wireless.default_radio0
|
uci delete wireless.default_radio0
|
||||||
delete wireless.default_radio1
|
uci delete wireless.default_radio1
|
||||||
${concatStrings (imap0 (index: path:
|
${concatStrings (imap0 (index: path:
|
||||||
let
|
let
|
||||||
radioConfig = hostConfig.wifi.${path};
|
radioConfig = hostConfig.wifi.${path};
|
||||||
|
@ -237,42 +236,41 @@ in ''
|
||||||
then "wlan2"
|
then "wlan2"
|
||||||
else "wlan5";
|
else "wlan5";
|
||||||
in ''
|
in ''
|
||||||
set wireless.radio${toString index}=wifi-device
|
uci set wireless.radio${toString index}=wifi-device
|
||||||
set wireless.radio${toString index}.type=mac80211
|
uci set wireless.radio${toString index}.type=mac80211
|
||||||
set wireless.radio${toString index}.country=DE
|
uci set wireless.radio${toString index}.country=DE
|
||||||
set wireless.radio${toString index}.channel=${toString radioConfig.channel}
|
uci set wireless.radio${toString index}.channel=${toString radioConfig.channel}
|
||||||
set wireless.radio${toString index}.path=${path}
|
uci set wireless.radio${toString index}.path=${path}
|
||||||
set wireless.radio${toString index}.htmode=${radioConfig.htmode}
|
uci set wireless.radio${toString index}.htmode=${radioConfig.htmode}
|
||||||
set wireless.radio${toString index}.noscan=1
|
uci set wireless.radio${toString index}.noscan=1
|
||||||
delete wireless.radio${toString index}.disabled
|
uci delete wireless.radio${toString index}.disabled
|
||||||
|
|
||||||
${concatMapStrings (ssid:
|
${concatMapStrings (ssid:
|
||||||
let
|
let
|
||||||
ssidConfig = radioConfig.ssids.${ssid};
|
ssidConfig = radioConfig.ssids.${ssid};
|
||||||
in ''
|
in ''
|
||||||
add wireless wifi
|
uci add wireless wifi
|
||||||
set wireless.@wifi-iface[-1].ifname=${ifPrefix}-${ssidConfig.net}
|
uci set wireless.@wifi-iface[-1].ifname=${ifPrefix}-${ssidConfig.net}
|
||||||
set wireless.@wifi-iface[-1].device=radio${toString index}
|
uci set wireless.@wifi-iface[-1].device=radio${toString index}
|
||||||
set wireless.@wifi-iface[-1].ssid='${ssid}'
|
uci set wireless.@wifi-iface[-1].ssid='${ssid}'
|
||||||
set wireless.@wifi-iface[-1].mode=ap
|
uci set wireless.@wifi-iface[-1].mode=ap
|
||||||
set wireless.@wifi-iface[-1].network=${ssidConfig.net}
|
uci set wireless.@wifi-iface[-1].network=${ssidConfig.net}
|
||||||
set wireless.@wifi-iface[-1].mcast_rate=18000
|
uci set wireless.@wifi-iface[-1].mcast_rate=18000
|
||||||
${if (ssidConfig.psk != null)
|
${if (ssidConfig.psk != null)
|
||||||
then ''
|
then ''
|
||||||
set wireless.@wifi-iface[-1].encryption=psk2
|
uci set wireless.@wifi-iface[-1].encryption=psk2
|
||||||
set wireless.@wifi-iface[-1].key='${ssidConfig.psk}'
|
uci set wireless.@wifi-iface[-1].key='${ssidConfig.psk}'
|
||||||
''
|
''
|
||||||
else ''
|
else ''
|
||||||
set wireless.@wifi-iface[-1].encryption=none
|
uci set wireless.@wifi-iface[-1].encryption=none
|
||||||
delete wireless.@wifi-iface[-1].key
|
uci delete wireless.@wifi-iface[-1].key
|
||||||
''}
|
''}
|
||||||
|
|
||||||
''
|
''
|
||||||
) (builtins.attrNames radioConfig.ssids)}
|
) (builtins.attrNames radioConfig.ssids)}
|
||||||
'') (builtins.attrNames hostConfig.wifi))}
|
'') (builtins.attrNames hostConfig.wifi))}
|
||||||
|
|
||||||
commit
|
uci commit
|
||||||
__UCI__
|
|
||||||
|
|
||||||
# Cronjob that makes sure WiFi is only visible when server with all
|
# Cronjob that makes sure WiFi is only visible when server with all
|
||||||
# the gateways is reachable
|
# the gateways is reachable
|
||||||
|
|
Loading…
Reference in New Issue