network/nix/lib/default.nix

33 lines
861 B
Nix
Raw Normal View History

2024-04-14 13:44:00 +02:00
{ self, lib, openwrt, pkgs }:
2021-05-06 16:24:31 +02:00
rec {
2024-04-14 13:44:00 +02:00
inherit (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
2024-04-14 13:44:00 +02:00
dns = import ./dns.nix { inherit config lib; };
openwrtModels = import ./openwrt-models.nix { inherit self openwrt; };
getOpenwrtModel = wantedModel:
let
models =
builtins.filter ({ models, ... }:
self.lib.any ({ model, vendor, ... }:
model == wantedModel ||
"${vendor}_${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
}