{ self, gpgKey, pkgs, openwrt }: rec { config = import ./config { inherit self pkgs gpgKey; }; saltPillarFor = import ./salt-support/salt-pillar.nix { inherit pkgs gpgKey; }; expandSaltTemplate = import ./salt-support/expand-template.nix { inherit pkgs; }; netmasks = import ./netmasks.nix; subnet = import ./subnet { inherit pkgs; }; dns = import ./dns.nix { inherit pkgs config; }; openwrtModels = import ./openwrt-models.nix { inherit self openwrt; }; 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}" {}; }