mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
feat: write own urlwatch config
This commit is contained in:
@@ -1,16 +1,79 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
imports = [ <stockholm/krebs/3modules/urlwatch.nix> ];
|
||||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
inherit (import <niveum/lib>) kieran;
|
||||
|
||||
krebs.urlwatch = {
|
||||
enable = true;
|
||||
onCalendar = "*-*-* 05:00:00";
|
||||
sendmail.enable = false;
|
||||
telegram = {
|
||||
enable = true;
|
||||
chatId = [ "18980945" ];
|
||||
botToken = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
|
||||
urlwatchDir = "/var/lib/urlwatch";
|
||||
|
||||
urlsFile = pkgs.writeText "urls" (builtins.concatStringsSep "\n---\n" (map builtins.toJSON urls));
|
||||
|
||||
urls = [
|
||||
{
|
||||
name = "Corona-Verordnung";
|
||||
url = "https://www.berlin.de/corona/massnahmen/verordnung/";
|
||||
}
|
||||
];
|
||||
|
||||
configFile = pkgs.writeJSON "urlwatch.yaml" {
|
||||
display = {
|
||||
error = true;
|
||||
new = true;
|
||||
unchanged = false;
|
||||
};
|
||||
report = {
|
||||
email = {
|
||||
enabled = true;
|
||||
from = "2210@cock.li";
|
||||
html = false;
|
||||
method = "smtp";
|
||||
smtp = {
|
||||
host = "mail.cock.li";
|
||||
port = 587;
|
||||
starttls = true;
|
||||
auth = true;
|
||||
insecure_password = lib.strings.fileContents <secrets/mail/cock>;
|
||||
};
|
||||
subject = "{count} changes: {jobs}";
|
||||
to = kieran.email;
|
||||
};
|
||||
html.diff = "unified";
|
||||
stdout = {
|
||||
color = true;
|
||||
enabled = true;
|
||||
};
|
||||
telegram = {
|
||||
enabled = false;
|
||||
bot_token = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
|
||||
chat_id = [ "18980945" ];
|
||||
};
|
||||
# text = {
|
||||
# details = true;
|
||||
# footer = true;
|
||||
# line_length = 75;
|
||||
# };
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
users.extraUsers.urlwatch = {
|
||||
home = urlwatchDir;
|
||||
createHome = true;
|
||||
};
|
||||
|
||||
systemd.services.urlwatch = {
|
||||
enable = true;
|
||||
startAt = "*-*-* 05:00:00";
|
||||
script = ''
|
||||
${pkgs.urlwatch}/bin/urlwatch \
|
||||
--config=${lib.escapeShellArg configFile} \
|
||||
--urls=${lib.escapeShellArg urlsFile}
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = config.users.extraUsers.urlwatch.name;
|
||||
WorkingDirectory = config.users.extraUsers.urlwatch.home;
|
||||
PermissionsStartOnly = "true";
|
||||
PrivateTmp = "true";
|
||||
SyslogIdentifier = "urlwatch";
|
||||
Type = "oneshot";
|
||||
};
|
||||
urls = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user