Fix syntax errors

This commit is contained in:
Fabian Hauser 2020-05-17 13:52:15 +00:00
parent fad59bbb27
commit 87792bd9af
4 changed files with 156 additions and 144 deletions

View file

@ -7,7 +7,7 @@
{ {
imports = [ imports = [
../hardware/apu1.nix ../hardware/apu1.nix
../hardware/wel200vx.nix ../hardware/wle200nx.nix
../hardware/wle600vx.nix ../hardware/wle600vx.nix
../role/base ../role/base
../role/router ../role/router
@ -16,12 +16,11 @@
../role/router-wireless-ap ../role/router-wireless-ap
]; ];
service.router = {
service.router = {
enable = true; enable = true;
wanInterface = "enp2s0"; wanInterface = "enp2s0";
wirelessInterfaces = [ "wlp4s0" "wlp6s0" ]; wirelessInterfaces = [ "wlp4s0" "wlp6s0" ];
lanInterfaces = ["enp1s0", "enp3s0" ]; lanInterfaces = [ "enp1s0" "enp3s0" ];
internalRouterIP = "10.2.2.1"; internalRouterIP = "10.2.2.1";
dhcp = { dhcp = {
enable = true; enable = true;
@ -38,6 +37,7 @@
wleInterface5Ghz = "wlp6s0"; wleInterface5Ghz = "wlp6s0";
ssid = "testnet"; ssid = "testnet";
passphrase = "testnet"; passphrase = "testnet";
};
}; };
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.

View file

@ -2,8 +2,9 @@
with lib; with lib;
let routerCfg = config.services.router; let
cfg = config.services.router.dhcp; routerCfg = config.services.router;
cfg = config.services.router.dhcp;
in { in {
options.services.router.dhcp = { options.services.router.dhcp = {
enable = mkEnableOption "router dhcp service"; enable = mkEnableOption "router dhcp service";
@ -656,6 +657,8 @@ in {
#log-dhcp #log-dhcp
''; '';
systemd.services.dnsmasq = { bindsTo = [ "network-addresses-lan.service" ]; }; systemd.services.dnsmasq = {
bindsTo = [ "network-addresses-lan.service" ];
};
}; };
} }

View file

@ -2,10 +2,10 @@
with lib; with lib;
let routerCfg = config.services.router; let
dhcpCfg = config.services.router.dhcp; routerCfg = config.services.router;
cfg = config.services.router.recursiveDns; dhcpCfg = config.services.router.dhcp;
with lib.lists; with builtins; revIpDomain = concatStringsSep "." reverseList take 3 split "\." networkIdIp; cfg = config.services.router.recursiveDns;
in { in {
options.services.router.recursiveDns = { options.services.router.recursiveDns = {
enable = mkEnableOption "router recursive dns service"; enable = mkEnableOption "router recursive dns service";
@ -20,10 +20,16 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.unbound = { services.unbound = let
revIpDomain = concatStringsSep "."
(reverseList (take 3 (splitString "." cfg.networkIdIp)));
in {
enable = true; enable = true;
interfaces = [ "127.0.0.1" routerCfg.internalRouterIP ]; interfaces = [ "127.0.0.1" routerCfg.internalRouterIP ];
allowedAccess = [ "127.0.0.0/24" "${cfg.networkIdIp}/${toString routerCfg.internalPrefixLength}" ]; allowedAccess = [
"127.0.0.0/24"
"${cfg.networkIdIp}/${toString routerCfg.internalPrefixLength}"
];
extraConfig = mkIf dhcpCfg.enable '' extraConfig = mkIf dhcpCfg.enable ''
# Custom configuration (leave this note to assure indentation!) # Custom configuration (leave this note to assure indentation!)
do-not-query-localhost: no do-not-query-localhost: no

View file

@ -2,8 +2,9 @@
with lib; with lib;
let routerCfg = config.services.router; let
cfg = config.services.router.wireless routerCfg = config.services.router;
cfg = config.services.router.wireless;
in { in {
options.services.wireless = { options.services.wireless = {
enable = mkEnableOption "router wireless service"; enable = mkEnableOption "router wireless service";
@ -48,16 +49,16 @@ in {
}; };
}; };
config = mkIf cfg.enable let imports = mkIf cfg.enable [ ./hostapd5ghz.nix ];
config = let
wle24GhzEnabled = cfg.wleInterface24Ghz != null; wle24GhzEnabled = cfg.wleInterface24Ghz != null;
wle5GhzEnabled = wleInterface5Ghz != null; wle5GhzEnabled = wleInterface5Ghz != null;
in { in mkIf cfg.enable {
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
options cfg80211 ieee80211_regdom=${cfg.regulatoryCountryCode} options cfg80211 ieee80211_regdom=${cfg.regulatoryCountryCode}
''; '';
imports = [ ./hostapd5ghz.nix ];
services.udev.packages = [ pkgs.crda ]; # TODO: Still required with 20.03? services.udev.packages = [ pkgs.crda ]; # TODO: Still required with 20.03?
services.hostapd5ghz = { services.hostapd5ghz = {
@ -68,7 +69,8 @@ in {
wpaPassphrase = cfg.passphrase; wpaPassphrase = cfg.passphrase;
channel = 36; channel = 36;
extraConfig = '' extraConfig = ''
${optionalString wle24GhzEnabled "except-interface=${cfg.wleInterface24Ghz}"} ${optionalString wle24GhzEnabled
"except-interface=${cfg.wleInterface24Ghz}"}
max_num_sta=255 max_num_sta=255
#Details for Connecting Clients via WPA2 TKIP #Details for Connecting Clients via WPA2 TKIP
@ -139,7 +141,8 @@ in {
wpaPassphrase = cfg.passphrase; wpaPassphrase = cfg.passphrase;
channel = 6; channel = 6;
extraConfig = '' extraConfig = ''
${optionalString wle5GhzEnabled "except-interface=${cfg.wleInterface5Ghz}"} ${optionalString wle5GhzEnabled
"except-interface=${cfg.wleInterface5Ghz}"}
#macaddr_acl sets options for mac address filtering. 0 means "accept unless in deny list" #macaddr_acl sets options for mac address filtering. 0 means "accept unless in deny list"
macaddr_acl=0 macaddr_acl=0