diff options
Diffstat (limited to 'apps/static-website')
-rw-r--r-- | apps/static-website/appspec.nix | 4 | ||||
-rw-r--r-- | apps/static-website/module.nix | 15 |
2 files changed, 15 insertions, 4 deletions
diff --git a/apps/static-website/appspec.nix b/apps/static-website/appspec.nix index c7e919e..e1b41c0 100644 --- a/apps/static-website/appspec.nix +++ b/apps/static-website/appspec.nix @@ -2,6 +2,10 @@ description = "static website"; endOfLife = null; options = { + cors = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + }; domain = lib.mkOption { description = "Domain of the website"; type = fysilib.types.fqdn; diff --git a/apps/static-website/module.nix b/apps/static-website/module.nix index 659dfad..32fed09 100644 --- a/apps/static-website/module.nix +++ b/apps/static-website/module.nix @@ -1,4 +1,11 @@ -{ appConfig, ... }: { - services.nginx.enable = true; - services.nginx.virtualHosts.${appConfig.domain}.locations."/".root = appConfig.root; -} +{ appConfig, lib, ... }: lib.mkMerge [ + { + services.nginx.enable = true; + services.nginx.virtualHosts.${appConfig.domain}.locations."/".root = appConfig.root; + } + (lib.mkIf (appConfig.cors != null) { + services.nginx.virtualHosts.${appConfig.domain}.locations."/".extraConfig = '' + add_header 'Access-Control-Allow-Origin' '${appConfig.cors}'; + ''; + }) +] |