{ 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 ]; } ); }; }