{ libNginx, libPlausible, inputs, lib, ... }: 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]; }); }; }