61 lines
1.2 KiB
Nix
61 lines
1.2 KiB
Nix
{ config, pkgs, ... }:
|
|
let
|
|
goneVhost = {
|
|
locations."~ .*".return = "303 'https://sbruder.xyz/#history'";
|
|
};
|
|
in
|
|
{
|
|
imports = [
|
|
./blocks.nix
|
|
];
|
|
|
|
services.nginx.virtualHosts."sbruder.xyz" = {
|
|
root = pkgs.stdenvNoCC.mkDerivation {
|
|
name = "sbruder.xyz";
|
|
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = with pkgs; [ pandoc ];
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
pandoc \
|
|
-s \
|
|
--metadata-file metadata.yaml \
|
|
-f commonmark_x \
|
|
-t html5 \
|
|
-o index.html \
|
|
index.md
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -D index.html $out/index.html
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
|
|
extraConfig = ''
|
|
allow ${config.sbruder.wireguard.home.subnet};
|
|
deny all;
|
|
'';
|
|
|
|
locations = {
|
|
"/imprint/".alias = "${pkgs.sbruder.imprint}/";
|
|
"/transparency/" = {
|
|
alias = "${./transparency}/";
|
|
extraConfig = ''
|
|
autoindex on;
|
|
charset utf-8;
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
services.nginx.virtualHosts."nitter.sbruder.xyz" = goneVhost;
|
|
services.nginx.virtualHosts."libreddit.sbruder.xyz" = goneVhost;
|
|
}
|