{ self, nixpkgs, system }: with nixpkgs.legacyPackages.${system}; let config = self.lib.config; in writeText "vlan-report.txt" ( lib.concatMapStrings (net: '' ## ${net}${lib.optionalString (config.site.net.${net}.vlan != null) " (VLAN ${toString config.site.net.${net}.vlan})"} ${lib.concatStringsSep "\n" ( lib.concatMap (host: map (target: "- ${host} -> ${target}") ( builtins.attrNames ( lib.filterAttrs (_: { nets, ... }: lib.elem net nets ) config.site.hosts.${host}.links ) ) ) (lib.attrNames config.site.hosts) )} '') (lib.attrNames config.site.net) )