2025-04-18 18:28:17 +01:00
|
|
|
let
|
|
|
|
port = 8095;
|
|
|
|
|
|
|
|
redirects = import ./www.oliverdavies.uk-redirects.nix;
|
|
|
|
|
|
|
|
redirectLines = builtins.concatStringsSep "\n" (
|
|
|
|
map (r: "rewrite ^${r.from}/?$ ${r.to} redirect;") redirects
|
|
|
|
);
|
|
|
|
|
2025-04-29 23:54:55 +01:00
|
|
|
tome = {
|
|
|
|
root = "/var/www/vhosts/website-tome";
|
|
|
|
|
|
|
|
paths = [
|
|
|
|
"core"
|
|
|
|
"examples"
|
|
|
|
"sites/default/files"
|
|
|
|
"themes/custom/opdavies"
|
|
|
|
"tome-test"
|
|
|
|
];
|
|
|
|
|
|
|
|
port = 8098;
|
|
|
|
};
|
2025-04-18 18:28:17 +01:00
|
|
|
|
|
|
|
tomeLocations = builtins.listToAttrs (
|
|
|
|
map (path: {
|
|
|
|
name = "/${path}";
|
|
|
|
|
|
|
|
value = {
|
2025-04-29 23:54:55 +01:00
|
|
|
root = tome.root;
|
2025-04-18 18:28:17 +01:00
|
|
|
tryFiles = "$uri $uri.html $uri/index.html =404";
|
|
|
|
};
|
2025-04-29 23:54:55 +01:00
|
|
|
}) tome.paths
|
2025-04-18 18:28:17 +01:00
|
|
|
);
|
|
|
|
in
|
|
|
|
{
|
|
|
|
services = {
|
|
|
|
nginx.virtualHosts = {
|
|
|
|
"www.oliverdavies.uk" = {
|
2025-04-21 12:58:45 +01:00
|
|
|
root = "/var/www/vhosts/website-sculpin";
|
2025-04-18 18:28:17 +01:00
|
|
|
|
|
|
|
listen = [
|
|
|
|
{
|
|
|
|
inherit port;
|
|
|
|
|
|
|
|
addr = "localhost";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
locations = tomeLocations // {
|
|
|
|
"/".tryFiles = "$uri $uri.html $uri/index.html =404";
|
|
|
|
};
|
|
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
port_in_redirect off;
|
|
|
|
|
|
|
|
# Remove trailing slashes.
|
|
|
|
rewrite ^/(.*)/$ /$1 permanent;
|
|
|
|
|
|
|
|
error_page 404 /404;
|
|
|
|
|
|
|
|
rewrite ^/talks/archive/?$ /talks permanent;
|
|
|
|
rewrite ^/talks/(.*)$ /presentations/$1 permanent;
|
|
|
|
rewrite ^/talks/?$ /presentations permanent;
|
|
|
|
|
|
|
|
${redirectLines}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2025-04-29 15:00:05 +01:00
|
|
|
"oliverdavies.uk" = {
|
|
|
|
forceSSL = true;
|
|
|
|
globalRedirect = "www.oliverdavies.uk";
|
|
|
|
useACMEHost = "oliverdavies.uk";
|
|
|
|
};
|
2025-04-29 23:54:55 +01:00
|
|
|
|
|
|
|
"tome.oliverdavies.uk" = {
|
|
|
|
listen = [
|
|
|
|
{
|
|
|
|
addr = "localhost";
|
|
|
|
port = tome.port;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
locations."/".tryFiles = "$uri $uri.html $uri/index.html =404";
|
|
|
|
|
|
|
|
root = tome.root;
|
|
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
add_header X-Robots-Tag "noindex, nofollow";
|
|
|
|
|
|
|
|
port_in_redirect off;
|
|
|
|
|
|
|
|
# Remove trailing slashes.
|
|
|
|
rewrite ^/(.*)/$ /$1 permanent;
|
|
|
|
'';
|
|
|
|
};
|
2025-04-18 18:28:17 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
cloudflared.tunnels."e1514105-327f-4984-974e-e2fbaca76466" = {
|
|
|
|
ingress = {
|
|
|
|
"oliverdavies.uk" = "http://localhost:${toString port}";
|
2025-04-29 23:54:55 +01:00
|
|
|
"tome.oliverdavies.uk" = "http://localhost:${toString tome.port}";
|
2025-04-18 18:28:17 +01:00
|
|
|
"www.oliverdavies.uk" = "http://localhost:${toString port}";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|