feat: added site map
This commit is contained in:
parent
7682677cf6
commit
a7676d06b6
9 changed files with 62 additions and 21 deletions
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{...}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./module.nix
|
||||
|
|
|
|||
|
|
@ -5,21 +5,35 @@
|
|||
...
|
||||
}: let
|
||||
cfg = config.services.volpe;
|
||||
pkg = pkgs.callPackage ./package.nix {};
|
||||
|
||||
mkPkg = domain:
|
||||
pkgs.callPackage ./package.nix {
|
||||
siteUrl = "https://${domain}";
|
||||
};
|
||||
|
||||
allDomains = [cfg.domain] ++ cfg.extraDomains;
|
||||
|
||||
mkVirtualHost = domain: {
|
||||
root = "${mkPkg domain}";
|
||||
forceSSL = cfg.enableACME;
|
||||
enableACME = cfg.enableACME;
|
||||
locations."/" = {
|
||||
tryFiles = "$uri $uri/ /index.html";
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.services.volpe = {
|
||||
enable = lib.mkEnableOption "volpe blog";
|
||||
|
||||
domain = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "localhost";
|
||||
description = "Primary domain name for nginx virtual host.";
|
||||
};
|
||||
|
||||
extraDomains = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "Additional domain names (aliases) for the virtual host.";
|
||||
description = "Additional domain names, each gets its own virtualHost.";
|
||||
};
|
||||
|
||||
enableACME = lib.mkOption {
|
||||
|
|
@ -43,15 +57,12 @@ in {
|
|||
recommendedGzipSettings = true;
|
||||
recommendedProxySettings = true;
|
||||
|
||||
virtualHosts.${cfg.domain} = {
|
||||
root = "${pkg}";
|
||||
serverAliases = cfg.extraDomains;
|
||||
forceSSL = cfg.enableACME;
|
||||
enableACME = cfg.enableACME;
|
||||
locations."/" = {
|
||||
tryFiles = "$uri $uri/ /index.html";
|
||||
};
|
||||
};
|
||||
# Create a virtualHost for each domain
|
||||
virtualHosts = lib.listToAttrs (map (domain: {
|
||||
name = domain;
|
||||
value = mkVirtualHost domain;
|
||||
})
|
||||
allDomains);
|
||||
};
|
||||
|
||||
security.acme = lib.mkIf cfg.enableACME {
|
||||
|
|
@ -61,4 +72,4 @@ in {
|
|||
|
||||
networking.firewall.allowedTCPPorts = [80 443];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
siteUrl,
|
||||
}: let
|
||||
nodejs = nodejs_latest;
|
||||
pnpm = pnpm_10;
|
||||
|
|
@ -31,7 +32,7 @@ in
|
|||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm build
|
||||
SITE_URL="${siteUrl}" pnpm build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue