1
1
Fork 0
deployed-nixos-server-and-apps/nixos-apps/cutesealfanpage.love.nix

58 lines
1.6 KiB
Nix

{ pkgs, ... }:
let
PROJECT_ROOT = "/workspace/deployed-nixos-server-and-apps/nixos-apps";
in
{
services.caddy = {
enable = true;
virtualHosts = {
"cutesealfanpage.love" = {
serverAliases = [ "www.cutesealfanpage.love" ];
extraConfig = ''
root * ${PROJECT_ROOT}/cutesealfanpage.love/_site
file_server
'';
};
};
};
systemd.services = {
cutesealfanpage-hakyll-site = {
enable = true;
description = "The hakyll executable that rebuilds the site when a new blog post is created.";
serviceConfig = {
ExecStart = "cd ${PROJECT_ROOT}/cutesealfanpage.love; nix run .#hakyll-site -- watch --no-server";
};
# script = ''
# cd ${PROJECT_ROOT}/cutesealfanpage.love
# ${pkgs.nix}/bin/nix run .#hakyll-site -- watch --no-server
# '';
};
cutesealfanpage-generatePosts = {
enable = true;
description = "The haskell script that creates the new post of the day.";
startAt = "08:12:42";
script = ''
cd ${PROJECT_ROOT}/cutesealfanpage.love
${pkgs.nix}/bin/nix run .#generateSealPosts
'';
};
};
# when in doubt, clear away the certs with
# sudo rm -rf /var/lib/acme/
security.acme.acceptTerms = true;
security.acme.defaults.email = "admin@cutesealfanpage.love";
# uncomment this to use the staging server
# security.acme.server = "https://acme-staging-v02.api.letsencrypt.org/directory";
# services.cron = {
# enable = true;
# systemCronJobs = [
# "12 12 * * * alice . /etc/profile; ${pkgs.newSealPost} > /home/alice/logs/backup.log 2>&1"
# ];
# };
}