2022-03-10 21:52:12 +01:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
2025-12-27 22:22:54 +01:00
|
|
|
}:
|
|
|
|
|
let
|
2021-06-12 16:57:42 +02:00
|
|
|
reverseDirectory = "/run/telegram-reverse";
|
|
|
|
|
proverbDirectory = "/run/telegram-proverb";
|
2025-12-27 22:22:54 +01:00
|
|
|
in
|
|
|
|
|
{
|
2020-04-09 16:57:24 +02:00
|
|
|
imports = [
|
2024-10-08 18:51:43 +02:00
|
|
|
./logotheca.nix
|
|
|
|
|
./transits.nix
|
2020-04-09 16:57:24 +02:00
|
|
|
./autorenkalender.nix
|
2022-07-21 20:33:37 +02:00
|
|
|
./hesychius.nix
|
2022-08-23 14:47:24 +02:00
|
|
|
./smyth.nix
|
2020-04-09 16:57:24 +02:00
|
|
|
./nachtischsatan.nix
|
2025-12-19 13:11:06 +01:00
|
|
|
# ./tlg-wotd.nix TODO reenable
|
2022-11-25 11:27:16 +01:00
|
|
|
./celan.nix
|
2024-10-11 09:36:39 +02:00
|
|
|
./nietzsche.nix
|
2020-04-09 16:57:24 +02:00
|
|
|
];
|
|
|
|
|
|
2025-12-19 13:11:06 +01:00
|
|
|
age.secrets = {
|
|
|
|
|
telegram-token-kmein.file = ../../secrets/telegram-token-kmein.age;
|
|
|
|
|
};
|
|
|
|
|
|
2025-12-27 22:22:54 +01:00
|
|
|
systemd.tmpfiles.rules =
|
|
|
|
|
map
|
|
|
|
|
(
|
|
|
|
|
path:
|
|
|
|
|
pkgs.lib.niveum.tmpfilesConfig {
|
|
|
|
|
type = "d";
|
|
|
|
|
mode = "0750";
|
|
|
|
|
age = "1h";
|
|
|
|
|
inherit path;
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
[
|
|
|
|
|
reverseDirectory
|
|
|
|
|
proverbDirectory
|
|
|
|
|
];
|
2021-06-12 16:57:42 +02:00
|
|
|
|
2022-05-22 11:47:59 +02:00
|
|
|
niveum.passport.services = [
|
|
|
|
|
{
|
|
|
|
|
title = "Rückwarts-Bot";
|
|
|
|
|
link = "https://t.me/RueckwaertsBot";
|
|
|
|
|
description = "reverses things on Telegram.";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
title = "BetaCode-Bot";
|
|
|
|
|
link = "https://t.me/BetaCodeBot";
|
|
|
|
|
description = "converts <a href=\"https://en.wikipedia.org/wiki/Beta_Code\">beta code</a> to polytonic Greek on Telegram.";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
title = "Sprichwortgenerator-Bot";
|
|
|
|
|
link = "https://t.me/SprichwortGeneratorBot";
|
|
|
|
|
description = "generates useless German proverbs with optional stock photo background on Telegram.";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
|
2023-02-22 10:02:55 +01:00
|
|
|
age.secrets = {
|
2023-07-04 16:28:26 +02:00
|
|
|
telegram-token-reverse.file = ../../secrets/telegram-token-reverse.age;
|
|
|
|
|
telegram-token-betacode.file = ../../secrets/telegram-token-betacode.age;
|
|
|
|
|
telegram-token-proverb.file = ../../secrets/telegram-token-proverb.age;
|
2023-12-23 07:47:06 +01:00
|
|
|
telegram-token-streaming-link.file = ../../secrets/telegram-token-streaming-link.age;
|
2023-02-22 10:02:55 +01:00
|
|
|
};
|
|
|
|
|
|
2020-04-09 16:57:24 +02:00
|
|
|
systemd.services.telegram-reverse = {
|
2025-12-27 22:22:54 +01:00
|
|
|
wantedBy = [ "multi-user.target" ];
|
2021-06-12 14:21:09 +02:00
|
|
|
description = "Telegram reverse bot";
|
2025-12-27 22:22:54 +01:00
|
|
|
path = [ pkgs.ffmpeg ];
|
2026-02-18 18:18:08 +01:00
|
|
|
enable = false;
|
2023-02-22 10:02:55 +01:00
|
|
|
script = ''
|
2025-12-28 13:19:15 +01:00
|
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-reverse
|
2023-02-22 10:02:55 +01:00
|
|
|
'';
|
2020-04-09 16:57:24 +02:00
|
|
|
serviceConfig.Restart = "always";
|
2021-06-12 16:57:42 +02:00
|
|
|
serviceConfig.WorkingDirectory = reverseDirectory;
|
2023-02-22 10:02:55 +01:00
|
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-reverse.path}";
|
2020-04-09 16:57:24 +02:00
|
|
|
};
|
|
|
|
|
|
2023-12-23 07:47:06 +01:00
|
|
|
systemd.services.telegram-streaming-link = {
|
2025-12-27 22:22:54 +01:00
|
|
|
wantedBy = [ "multi-user.target" ];
|
2023-12-23 07:47:06 +01:00
|
|
|
description = "Telegram bot converting YouTube Music <-> Spotify";
|
2026-02-18 18:18:08 +01:00
|
|
|
enable = false;
|
2023-12-23 07:47:06 +01:00
|
|
|
script = ''
|
2025-12-28 13:19:15 +01:00
|
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-streaming-link
|
2023-12-23 07:47:06 +01:00
|
|
|
'';
|
|
|
|
|
serviceConfig.Restart = "always";
|
|
|
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-streaming-link.path}";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-09 16:57:24 +02:00
|
|
|
systemd.services.telegram-betacode = {
|
2025-12-27 22:22:54 +01:00
|
|
|
wantedBy = [ "multi-user.target" ];
|
2021-06-12 14:21:09 +02:00
|
|
|
description = "Telegram beta code bot";
|
2026-02-18 18:18:08 +01:00
|
|
|
enable = false;
|
2023-02-22 10:02:55 +01:00
|
|
|
script = ''
|
2025-12-28 13:19:15 +01:00
|
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-betacode
|
2023-02-22 10:02:55 +01:00
|
|
|
'';
|
2020-04-09 16:57:24 +02:00
|
|
|
serviceConfig.Restart = "always";
|
2023-02-22 10:02:55 +01:00
|
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-betacode.path}";
|
2020-04-09 16:57:24 +02:00
|
|
|
};
|
2021-06-12 16:57:42 +02:00
|
|
|
|
|
|
|
|
systemd.services.telegram-proverb = {
|
2025-12-27 22:22:54 +01:00
|
|
|
wantedBy = [ "multi-user.target" ];
|
2021-06-12 16:57:42 +02:00
|
|
|
description = "Telegram proverb bot";
|
2026-02-18 18:18:08 +01:00
|
|
|
enable = false;
|
2023-02-22 10:02:55 +01:00
|
|
|
script = ''
|
2025-12-28 13:19:15 +01:00
|
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-proverb
|
2023-02-22 10:02:55 +01:00
|
|
|
'';
|
2021-06-12 16:57:42 +02:00
|
|
|
serviceConfig.Restart = "always";
|
|
|
|
|
serviceConfig.WorkingDirectory = proverbDirectory;
|
2023-02-22 10:02:55 +01:00
|
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-proverb.path}";
|
2021-06-12 16:57:42 +02:00
|
|
|
};
|
2020-04-09 16:57:24 +02:00
|
|
|
}
|