{ pkgs, ... }: let PROJECT_ROOT = "/workspace/deployed-nixos-server-and-apps/nixos-apps/cutesealfanpage.love"; in { services.caddy = { enable = true; virtualHosts = { "cutesealfanpage.love" = { serverAliases = [ "www.cutesealfanpage.love" ]; extraConfig = '' nix run .#hakyll-site -- build root * ${PROJECT_ROOT}/_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."; path = with pkgs; [ nix git ]; script = '' cd ${PROJECT_ROOT} 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"; path = with pkgs; [ nix git ]; script = '' cd ${PROJECT_ROOT} 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"; }