nixos/modules/services/nginx/applications/synapse-admin.nix

30 lines
894 B
Nix
Raw Normal View History

2023-11-07 13:27:47 +08:00
inputs:
{
options.nixos.services.nginx.applications.synapse-admin.instances =
let inherit (inputs.lib) mkOption types; in mkOption
{
type = types.attrsOf (types.submodule (submoduleInputs: { options =
{ hostname = mkOption { type = types.nonEmptyStr; default = submoduleInputs.config._module.args.name; }; };}));
default = {};
};
config =
let
inherit (inputs.config.nixos.services.nginx.applications.synapse-admin) instances;
inherit (inputs.localLib) attrsToList;
inherit (builtins) map listToAttrs;
in
{
nixos.services.nginx.http = listToAttrs (map
(http: with http.value;
{
name = hostname;
value =
{
rewriteHttps = true;
2023-11-07 13:40:22 +08:00
locations."/".static.root = "${inputs.pkgs.synapse-admin}";
2023-11-07 13:27:47 +08:00
};
})
(attrsToList instances));
};
}