37 lines
1.1 KiB
Nix
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";
|
|
};
|
|
};
|
|
}
|