nix/hosts/prefect/services/blog-update.nix
2022-10-05 18:17:21 -04:00

37 lines
1.1 KiB
Nix

{pkgs, ...}: {
systemd.timers.blog-update = {
enable = false;
after = ["network.target"];
wantedBy = ["multi-user.target"];
description = "Blog Update Timer";
timerConfig = {
Unit = "blog-update.service";
OnUnitActiveSec = 3600;
};
};
systemd.services.blog-update = {
enable = false;
wantedBy = ["multi-user.target"];
description = "Blog Update Service";
path = [
"${pkgs.hugo}"
"${pkgs.go}"
"${pkgs.nodejs}"
"${pkgs.coreutils}"
"/var/lib/blog-update/node_modules/.bin"
];
environment = {
NODE_ENV = "production";
WEBMENTION_TOKEN = "VeryCoolToken";
};
serviceConfig = {
WorkingDirectory = "/var/lib/blog-update";
User = "caddy";
Type = "oneshot";
ExecStart = "${pkgs.nodejs}/bin/node 'scripts/precommit.js' ; ${pkgs.nodejs}/bin/node 'scripts/predeploy.js' ; ${pkgs.hugo}/bin/hugo -d out ; ${pkgs.coreutils}/bin/cp -fvr out/ /var/www/blog/";
# ExecStart = "bash blog-update.sh";
ExecStartPre = "${pkgs.git}/bin/git pull --rebase ; ${pkgs.nodejs}/bin/npm i -D";
};
};
}