mirror of
https://github.com/kmein/niveum
synced 2026-03-16 18:21:07 +01:00
115 lines
3.4 KiB
Nix
115 lines
3.4 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
reverseDirectory = "/run/telegram-reverse";
|
|
proverbDirectory = "/run/telegram-proverb";
|
|
in
|
|
{
|
|
imports = [
|
|
./logotheca.nix
|
|
./transits.nix
|
|
./autorenkalender.nix
|
|
./hesychius.nix
|
|
./smyth.nix
|
|
./nachtischsatan.nix
|
|
# ./tlg-wotd.nix TODO reenable
|
|
./celan.nix
|
|
./nietzsche.nix
|
|
];
|
|
|
|
age.secrets = {
|
|
telegram-token-kmein.file = ../../secrets/telegram-token-kmein.age;
|
|
};
|
|
|
|
systemd.tmpfiles.rules =
|
|
map
|
|
(
|
|
path:
|
|
pkgs.lib.niveum.tmpfilesConfig {
|
|
type = "d";
|
|
mode = "0750";
|
|
age = "1h";
|
|
inherit path;
|
|
}
|
|
)
|
|
[
|
|
reverseDirectory
|
|
proverbDirectory
|
|
];
|
|
|
|
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.";
|
|
}
|
|
];
|
|
|
|
age.secrets = {
|
|
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;
|
|
telegram-token-streaming-link.file = ../../secrets/telegram-token-streaming-link.age;
|
|
};
|
|
|
|
systemd.services.telegram-reverse = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
description = "Telegram reverse bot";
|
|
path = [ pkgs.ffmpeg ];
|
|
enable = true;
|
|
script = ''
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-reverse
|
|
'';
|
|
serviceConfig.Restart = "always";
|
|
serviceConfig.WorkingDirectory = reverseDirectory;
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-reverse.path}";
|
|
};
|
|
|
|
systemd.services.telegram-streaming-link = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
description = "Telegram bot converting YouTube Music <-> Spotify";
|
|
enable = true;
|
|
script = ''
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-streaming-link
|
|
'';
|
|
serviceConfig.Restart = "always";
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-streaming-link.path}";
|
|
};
|
|
|
|
systemd.services.telegram-betacode = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
description = "Telegram beta code bot";
|
|
enable = true;
|
|
script = ''
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-betacode
|
|
'';
|
|
serviceConfig.Restart = "always";
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-betacode.path}";
|
|
};
|
|
|
|
systemd.services.telegram-proverb = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
description = "Telegram proverb bot";
|
|
enable = true;
|
|
script = ''
|
|
TELEGRAM_BOT_TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")" ${pkgs.telebots}/bin/telegram-proverb
|
|
'';
|
|
serviceConfig.Restart = "always";
|
|
serviceConfig.WorkingDirectory = proverbDirectory;
|
|
serviceConfig.LoadCredential = "token:${config.age.secrets.telegram-token-proverb.path}";
|
|
};
|
|
}
|