2021-11-13 01:23:23 +01:00
|
|
|
{ self, pkgs, openwrt }:
|
2021-02-24 23:44:23 +01:00
|
|
|
|
2021-05-06 16:24:31 +02:00
|
|
|
rec {
|
2021-11-13 01:23:23 +01:00
|
|
|
config = (import ./config { inherit self pkgs; }).config;
|
2021-03-20 02:30:48 +01:00
|
|
|
|
2021-03-19 01:24:31 +01:00
|
|
|
netmasks = import ./netmasks.nix;
|
|
|
|
|
|
|
|
subnet = import ./subnet { inherit pkgs; };
|
2021-05-06 16:24:31 +02:00
|
|
|
|
|
|
|
dns = import ./dns.nix { inherit pkgs config; };
|
2021-11-03 23:21:43 +01:00
|
|
|
|
|
|
|
openwrtModels = import ./openwrt-models.nix { inherit self openwrt; };
|
2021-11-04 19:17:31 +01:00
|
|
|
|
|
|
|
getOpenwrtModel = wantedModel:
|
|
|
|
let
|
|
|
|
models =
|
|
|
|
builtins.filter ({ models, ... }:
|
|
|
|
self.lib.any ({ model, ... }:
|
|
|
|
model == wantedModel
|
|
|
|
) models
|
|
|
|
) openwrtModels;
|
|
|
|
result =
|
|
|
|
builtins.foldl' (result: { data, ... }:
|
|
|
|
self.lib.recursiveUpdate result data
|
|
|
|
) {} models;
|
|
|
|
in
|
|
|
|
if builtins.length models > 0
|
|
|
|
then result
|
|
|
|
else builtins.trace "No data found for OpenWRT model ${wantedModel}"
|
|
|
|
{};
|
2021-03-19 01:24:31 +01:00
|
|
|
}
|