{ description = "nixos modules for convenient deployment of cloud resources"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; outputs = inp: let l = inp.nixpkgs.lib; pkgsInstances = l.genAttrs ["x86_64-linux"] (s: inp.nixpkgs.legacyPackages.${s}); in { nixosModules = { firewall = ./firewall; firewall-hetzner = ./firewall/hetzner; }; checks = l.mapAttrs (_: pkgs: let testSystem = l.nixosSystem { system = pkgs.system; modules = l.attrValues inp.self.nixosModules; }; in { firewall-hetzner-app = import ./firewall/hetzner/app.nix { inherit pkgs; taggedPorts = { http.allowedTCPPorts = [80 443]; ssh.allowedTCPPorts = [22]; "bla bla" = { allowedUDPPortRanges = [{from = 1332; to = 8891;}]; allowedTCPPorts = [101]; allowedUDPPorts = [102]; }; }; id = 1; }; test-system-app = (inp.self.makeApps { inherit pkgs; nixosSystem = testSystem; }).run; }) pkgsInstances; makeApps = import ./makeApps.nix; }; }