diff options
| author | Karel Kočí <cynerd@email.cz> | 2025-01-19 14:37:11 +0100 | 
|---|---|---|
| committer | Karel Kočí <cynerd@email.cz> | 2025-01-19 14:37:11 +0100 | 
| commit | c274720eba80d1434f073d2cafbcd8401d89a40d (patch) | |
| tree | 4d2a7fcbad32359c5290ff7a61cecc919c420474 /nixos/modules | |
| parent | 39dea4d3636b3162c7ff72977c25e7c713faade1 (diff) | |
| download | nixos-personal-c274720eba80d1434f073d2cafbcd8401d89a40d.tar.gz nixos-personal-c274720eba80d1434f073d2cafbcd8401d89a40d.tar.bz2 nixos-personal-c274720eba80d1434f073d2cafbcd8401d89a40d.zip | |
nixos: improve adm wifi network
Remove overlap.
Diffstat (limited to 'nixos/modules')
| -rw-r--r-- | nixos/modules/wifi-adm.nix | 82 | ||||
| -rw-r--r-- | nixos/modules/wifi-spt.nix | 79 | 
2 files changed, 61 insertions, 100 deletions
| diff --git a/nixos/modules/wifi-adm.nix b/nixos/modules/wifi-adm.nix index 1db730c..7d6b5a6 100644 --- a/nixos/modules/wifi-adm.nix +++ b/nixos/modules/wifi-adm.nix @@ -6,6 +6,34 @@    inherit (lib) mkOption mkEnableOption types mkIf hostapd elemAt;    cnf = config.cynerd.wifiAP.adm; +  networks = name: { +    "${cnf."${name}".interface}" = { +      bssid = elemAt cnf."${name}".bssids 0; +      ssid = "TurrisAdamkovi"; +      authentication = { +        mode = "wpa3-sae-transition"; +        wpaPasswordFile = "/run/secrets/hostapd-TurrisAdamkovi.pass"; +        saePasswordsFile = "/run/secrets/hostapd-TurrisAdamkovi.pass"; +      }; +    }; +    "${cnf."${name}".interface}-nela" = { +      bssid = elemAt cnf."${name}".bssids 1; +      ssid = "Nela"; +      authentication = { +        mode = "wpa2-sha256"; +        wpaPasswordFile = "/run/secrets/hostapd-Nela.pass"; +      }; +    }; +    "${cnf."${name}".interface}.milan" = { +      bssid = elemAt cnf."${name}".bssids 2; +      ssid = "MILAN-AC"; +      authentication = { +        mode = "wpa2-sha1"; +        wpaPasswordFile = "/run/secrets/hostapd-MILAN-AC.pass"; +      }; +    }; +  }; +    wOptions = card: channelDefault: {      interface = mkOption {        type = with types; nullOr str; @@ -43,32 +71,7 @@ in {              enable = true;              inherit (hostapd.qualcomAtherosAR9287.wifi4) capabilities;            }; -          networks = { -            "${cnf.ar9287.interface}" = { -              bssid = elemAt cnf.ar9287.bssids 0; -              ssid = "TurrisAdamkovi"; -              authentication = { -                mode = "wpa2-sha256"; -                wpaPasswordFile = "/run/secrets/hostapd-TurrisAdamkovi.pass"; -              }; -            }; -            "${cnf.ar9287.interface}-nela" = { -              bssid = elemAt cnf.ar9287.bssids 1; -              ssid = "Nela"; -              authentication = { -                mode = "wpa2-sha256"; -                wpaPasswordFile = "/run/secrets/hostapd-Nela.pass"; -              }; -            }; -            "${cnf.ar9287.interface}.milan" = { -              bssid = elemAt cnf.ar9287.bssids 2; -              ssid = "MILAN-AC"; -              authentication = { -                mode = "wpa2-sha256"; -                wpaPasswordFile = "/run/secrets/hostapd-MILAN-AC.pass"; -              }; -            }; -          }; +          networks = networks "ar9287";          };          "${cnf.qca988x.interface}" = mkIf (cnf.qca988x.interface != null) {            countryCode = "CZ"; @@ -82,32 +85,7 @@ in {              enable = true;              inherit (hostapd.qualcomAtherosQCA988x.wifi5) capabilities;            }; -          networks = { -            "${cnf.qca988x.interface}" = { -              bssid = elemAt cnf.qca988x.bssids 0; -              ssid = "TurrisAdamkovi"; -              authentication = { -                mode = "wpa2-sha256"; -                wpaPasswordFile = "/run/secrets/hostapd-TurrisAdamkovi.pass"; -              }; -            }; -            "${cnf.qca988x.interface}-nela" = { -              bssid = elemAt cnf.qca988x.bssids 1; -              ssid = "Nela"; -              authentication = { -                mode = "wpa2-sha256"; -                wpaPasswordFile = "/run/secrets/hostapd-Nela.pass"; -              }; -            }; -            "${cnf.qca988x.interface}.milan" = { -              bssid = elemAt cnf.qca988x.bssids 2; -              ssid = "MILAN-AC"; -              authentication = { -                mode = "wpa2-sha256"; -                wpaPasswordFile = "/run/secrets/hostapd-MILAN-AC.pass"; -              }; -            }; -          }; +          networks = networks "qca988x";          };        };      }; diff --git a/nixos/modules/wifi-spt.nix b/nixos/modules/wifi-spt.nix index d013473..d3f6f68 100644 --- a/nixos/modules/wifi-spt.nix +++ b/nixos/modules/wifi-spt.nix @@ -6,6 +6,35 @@    inherit (lib) mkOption mkEnableOption types mkIf mkForce mkMerge hostapd elemAt;    cnf = config.cynerd.wifiAP.spt; +  networks = name: let +    is2g = cnf."${name}".channel <= 14; +  in { +    "${cnf."${name}".interface}" = { +      bssid = elemAt cnf."${name}".bssids 0; +      ssid = "TurrisRules${ +        if is2g +        then "" +        else "5" +      }"; +      authentication = { +        mode = "wpa2-sha256"; +        wpaPasswordFile = "/run/secrets/hostapd-TurrisRules.pass"; +      }; +      settings = mkIf is2g { +        ieee80211w = 0; +        wpa_key_mgmt = mkForce "WPA-PSK"; # force use without sha256 +      }; +    }; +    "${cnf."${name}".interface}.guest" = { +      bssid = elemAt cnf."${name}".bssids 1; +      ssid = "Kocovi"; +      authentication = { +        mode = "wpa2-sha256"; +        wpaPasswordFile = "/run/secrets/hostapd-Kocovi.pass"; +      }; +    }; +  }; +    wOptions = card: channelDefault: {      interface = mkOption {        type = with types; nullOr str; @@ -48,28 +77,7 @@ in {                enable = true;                inherit (hostapd.qualcomAtherosAR9287.wifi4) capabilities;              }; -            networks = { -              "${cnf.ar9287.interface}" = { -                bssid = elemAt cnf.ar9287.bssids 0; -                ssid = "TurrisRules"; -                authentication = { -                  mode = "wpa2-sha256"; -                  wpaPasswordFile = "/run/secrets/hostapd-TurrisRules.pass"; -                }; -                settings = { -                  ieee80211w = 0; -                  wpa_key_mgmt = mkForce "WPA-PSK"; # force use without sha256 -                }; -              }; -              "${cnf.ar9287.interface}.guest" = { -                bssid = elemAt cnf.ar9287.bssids 1; -                ssid = "Kocovi"; -                authentication = { -                  mode = "wpa2-sha256"; -                  wpaPasswordFile = "/run/secrets/hostapd-Kocovi.pass"; -                }; -              }; -            }; +            networks = networks "ar9287";            };          })          (mkIf (cnf.qca988x.interface != null) { @@ -90,32 +98,7 @@ in {                enable = !is2g;                inherit (hostapd.qualcomAtherosQCA988x.wifi5) capabilities;              }; -            networks = { -              "${cnf.qca988x.interface}" = { -                bssid = elemAt cnf.qca988x.bssids 0; -                ssid = "TurrisRules${ -                  if is2g -                  then "" -                  else "5" -                }"; -                authentication = { -                  mode = "wpa2-sha256"; -                  wpaPasswordFile = "/run/secrets/hostapd-TurrisRules.pass"; -                }; -                settings = mkIf is2g { -                  ieee80211w = 0; -                  wpa_key_mgmt = mkForce "WPA-PSK"; # force use without sha256 -                }; -              }; -              "${cnf.qca988x.interface}.guest" = { -                bssid = elemAt cnf.qca988x.bssids 1; -                ssid = "Kocovi"; -                authentication = { -                  mode = "wpa2-sha256"; -                  wpaPasswordFile = "/run/secrets/hostapd-Kocovi.pass"; -                }; -              }; -            }; +            networks = networks "qca988x";            };          })        ]; | 
