1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/systems/ful/panoptikon.nix

132 lines
4.4 KiB
Nix

{
config,
pkgs,
lib,
niveumLib,
niveumPackages,
...
}: let
panoptikon = niveumLib.panoptikon {inherit pkgs lib niveumPackages config;};
irc-xxx = panoptikon.kpaste-irc {
target = lib.escapeShellArg "#xxx";
retiolumLink = true;
};
telegram-kmein = let
chatId = "-1001796440545";
in
pkgs.writers.writeDash "telegram-fulltext" ''
export TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")"
${pkgs.curl}/bin/curl -X POST "https://api.telegram.org/bot''${TOKEN}/sendMessage" \
-d chat_id=${chatId} \
-d text="$(cat)" \
| ${pkgs.jq}/bin/jq -e .ok
'';
irc-kmein = panoptikon.kpaste-irc {
messagePrefix = "$PANOPTIKON_WATCHER: ";
target = "kmein";
nick = "panoptikon-kmein";
retiolumLink = false;
};
in {
age.secrets.telegram-token-kmein.file = ../../secrets/telegram-token-kmein.age;
services.panoptikon = {
enable = true;
watchers = {
"github-meta" = {
script = panoptikon.urlJSON {
jqScript = ''
{
ssh_key_fingerprints: .ssh_key_fingerprints,
ssh_keys: .ssh_keys
}
'';
} "https://api.github.com/meta";
reporters = [irc-xxx];
};
lammla = {
script = panoptikon.url "http://lammla.info/index.php?reihe=30";
reporters = [irc-kmein];
};
btc = {
script = panoptikon.url "https://eur.rate.sx/1BTC";
reporters = [telegram-kmein];
loadCredential = [
"token:${config.age.secrets.telegram-token-kmein.path}"
];
};
kratylos = {
script = panoptikon.url "https://kratylos.reichert-online.org/current_issue/KRATYLOS";
reporters = [irc-kmein];
};
zeno-free = {
script = panoptikon.urlSelector ".zenoCOMain" "http://www.zeno.org/Lesesaal/M/E-Books";
reporters = [irc-kmein];
};
carolinawelslau = {
script = panoptikon.urlSelector "#main" "https://carolinawelslau.de/";
reporters = [irc-kmein];
};
humboldt-preis = {
script = panoptikon.urlSelector "#content-core" "https://www.hu-berlin.de/de/ueberblick/menschen/ehrungen/humboldtpreis";
reporters = [irc-kmein];
};
lisalittmann = {
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/";
reporters = [irc-kmein];
};
lisalittmann-archive = {
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/archive/";
reporters = [irc-kmein];
};
lisalittmann-projects = {
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/projects/";
reporters = [irc-kmein];
};
tatort = {
script = panoptikon.urlSelector ".linklist" "https://www.daserste.de/unterhaltung/krimi/tatort/sendung/index.html";
reporters = [irc-kmein];
};
warpgrid-idiomarium = {
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/idiomarium/";
reporters = [irc-kmein];
};
warpgrid-futurism = {
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/futurism/";
reporters = [irc-kmein];
};
warpgrid-imagiary = {
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/imagiary/";
reporters = [irc-kmein];
};
warpgrid-alchemy = {
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/alchemy/";
reporters = [irc-kmein];
};
indogermanische-forschungen = {
script = panoptikon.urlSelector "#latestIssue" "https://www.degruyter.com/journal/key/INDO/html";
reporters = [irc-kmein];
};
ig-neuigkeiten = {
script = panoptikon.urlSelector "[itemprop=articleBody]" "https://www.indogermanistik.org/aktuelles/neuigkeiten.html";
reporters = [irc-kmein];
};
ig-tagungen = {
script = panoptikon.urlSelector "[itemprop=articleBody]" "https://www.indogermanistik.org/tagungen/tagungen-der-ig.html";
reporters = [irc-kmein];
};
fu-distant = {
script = panoptikon.urlSelector "#current_events" "https://www.geschkult.fu-berlin.de/en/e/ma-distant/Termine/index.html";
reporters = [irc-kmein];
};
fu-aegyptologie = {
script = panoptikon.urlSelector "#current_events" "https://www.geschkult.fu-berlin.de/e/aegyptologie/termine/index.html";
reporters = [irc-kmein];
};
};
};
}