{ inputs, lib, ... }: let inherit (lib) singleton; commonConfig = pkgs: (pkgs.formats.yaml {}).generate "common.yaml" (import ./common_config.nix { logConfig = logConfig pkgs; }); logConfig = pkgs: (pkgs.formats.yaml {}).generate "log.yaml" (import ./log_config.nix {}); callPackage = lib.callPackageWith { inherit (inputs) nixpkgs; inherit (inputs.nixng.nglib) makeSystem; inherit commonConfig logConfig; }; in { flake.nixngConfigurations.synapseFederationSender = callPackage ./generic_worker.nix { name = "generic"; listener_resources = singleton "health"; }; flake.nixngConfigurations.synapseFederationReceiver = callPackage ./generic_worker.nix { name = "generic"; listener_resources = [ "health" "federation" ]; }; flake.nixngConfigurations.synapseClient = callPackage ./generic_worker.nix { name = "generic"; listener_resources = [ "client" "health" ]; }; flake.nixngConfigurations.synapseSync = callPackage ./generic_worker.nix { name = "generic"; listener_resources = [ "client" "health" ]; }; flake.nixngConfigurations.synapseRedis = callPackage ./redis.nix {}; flake.nixngConfigurations.synapsePostgreSQL = callPackage ./postgresql.nix {}; flake.nixngConfigurations.synapse = callPackage ./synapse.nix {}; }