feat(tazjin/nixos): serve homepage on yggdrasil

First test of running an Yggdrasil service, lets see how that goes!

Change-Id: Iac10b72f7314a45df13ea539c5c1cef6c994154f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12484
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2024-09-14 23:24:30 +03:00 committed by tazjin
parent 7593592241
commit c9eeb7da70
2 changed files with 41 additions and 30 deletions

View file

@ -98,6 +98,8 @@ in
openssh.authorizedKeys.keys = depot.users.tazjin.keys.all; openssh.authorizedKeys.keys = depot.users.tazjin.keys.all;
}; };
users.users.nginx.extraGroups = [ "acme" ];
age.secrets = age.secrets =
let let
secretFile = name: depot.users.tazjin.secrets."${name}.age"; secretFile = name: depot.users.tazjin.secrets."${name}.age";

View file

@ -1,6 +1,38 @@
# serve tazjin's website & blog # serve tazjin's website & blog
{ depot, config, lib, pkgs, ... }: { depot, config, lib, pkgs, ... }:
let
extraConfig = ''
location = /en/rss.xml {
return 301 https://tazj.in/feed.atom;
}
${depot.users.tazjin.blog.oldRedirects}
location /blog/ {
alias ${depot.users.tazjin.blog.rendered}/;
if ($request_uri ~ ^/(.*)\.html$) {
return 302 /$1;
}
try_files $uri $uri.html $uri/ =404;
}
location = /predlozhnik {
return 302 https://predlozhnik.ru;
}
# redirect for easier entry on a TV
location = /tv {
return 302 https://tazj.in/blobs/play.html;
}
# Temporary place for serving static files.
location /blobs/ {
alias /var/lib/tazjins-blobs/;
}
'';
in
{ {
config = { config = {
services.nginx.virtualHosts."tazj.in" = { services.nginx.virtualHosts."tazj.in" = {
@ -8,37 +40,14 @@
forceSSL = true; forceSSL = true;
root = depot.users.tazjin.homepage; root = depot.users.tazjin.homepage;
serverAliases = [ "www.tazj.in" ]; serverAliases = [ "www.tazj.in" ];
inherit extraConfig;
};
extraConfig = '' services.nginx.virtualHosts."y.tazj.in" = {
location = /en/rss.xml { enableSSL = true;
return 301 https://tazj.in/feed.atom; useACMEHost = "y.tazj.in";
} root = depot.users.tazjin.homepage;
inherit extraConfig;
${depot.users.tazjin.blog.oldRedirects}
location /blog/ {
alias ${depot.users.tazjin.blog.rendered}/;
if ($request_uri ~ ^/(.*)\.html$) {
return 302 /$1;
}
try_files $uri $uri.html $uri/ =404;
}
location = /predlozhnik {
return 302 https://predlozhnik.ru;
}
# redirect for easier entry on a TV
location = /tv {
return 302 https://tazj.in/blobs/play.html;
}
# Temporary place for serving static files.
location /blobs/ {
alias /var/lib/tazjins-blobs/;
}
'';
}; };
services.nginx.virtualHosts."git.tazj.in" = { services.nginx.virtualHosts."git.tazj.in" = {