summaryrefslogtreecommitdiff
path: root/configurations/manwe/webserver.nix
diff options
context:
space:
mode:
Diffstat (limited to 'configurations/manwe/webserver.nix')
-rw-r--r--configurations/manwe/webserver.nix109
1 files changed, 109 insertions, 0 deletions
diff --git a/configurations/manwe/webserver.nix b/configurations/manwe/webserver.nix
new file mode 100644
index 0000000..95a0b0b
--- /dev/null
+++ b/configurations/manwe/webserver.nix
@@ -0,0 +1,109 @@
+{
+ inputs,
+ lib,
+ libNginx,
+ libPlausible,
+ ...
+}:
+with lib;
+{
+ nixfiles.modules.nginx = {
+ enable = true;
+ virtualHosts =
+ with my.domain;
+ {
+ # TODO Start using this.
+ # "start.local" = {
+ # root = pkgs.hiccup;
+ # locations = {
+ # "/".tryFiles = "$uri $uri/ /index.html";
+ # "~* ^.+config.json$".extraConfig = let
+ # config = pkgs.writeText "config.json" (generators.toJSON {} {
+ # version = "2.0";
+ # id = "default";
+ # title = "Demo Config";
+ # url = "./configs/config.json";
+ # featured = [
+ # {
+ # name = "GitHub";
+ # background = "/assets/card.png";
+ # link = "https://github.com/ashwin-pc/hiccup";
+ # }
+ # ];
+ # categories = [
+ # {
+ # title = "Category 1";
+ # links = [
+ # {
+ # name = "Link 1";
+ # link = "https://example.com";
+ # }
+ # ];
+ # }
+ # {
+ # title = "Category 2";
+ # links = [
+ # {
+ # name = "Link 1";
+ # link = "https://example.com";
+ # }
+ # ];
+ # }
+ # {
+ # title = "Category 3";
+ # links = [
+ # {
+ # name = "Link 1";
+ # link = "https://example.com";
+ # }
+ # ];
+ # }
+ # {
+ # title = "Category 4";
+ # links = [
+ # {
+ # name = "Link 1";
+ # link = "https://example.com";
+ # }
+ # ];
+ # }
+ # ];
+ # });
+ # in ''
+ # alias ${config};
+ # '';
+ # };
+ # enableACME = false;
+ # forceSSL = false;
+ # };
+ ${shire}.locations."/".return = "301 https://www.youtube.com/watch?v=dQw4w9WgXcQ";
+ "git.${shire}".locations."/".return = "301 https://git.${azahi}";
+ "bitwarden.${shire}".locations."/".return = "301 https://vaultwarden.${shire}";
+ ${azahi} = {
+ serverAliases = [
+ "frodo.${gondor}"
+ "frodo.${rohan}"
+ ];
+ locations."/" = {
+ root = inputs.azahi-cc;
+ extraConfig = libNginx.config.appendHead [ (libPlausible.htmlPlausibleScript { domain = azahi; }) ];
+ };
+ };
+ }
+ // (
+ let
+ frodo = "301 https://frodo.";
+ in
+ {
+ ${gondor}.locations."/".return = concatStrings [
+ frodo
+ gondor
+ ];
+ ${rohan}.locations."/".return = concatStrings [
+ frodo
+ rohan
+ ];
+ }
+ );
+ };
+}