mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
mopidy, mail, telegram
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
sshKey = {
|
||||
homeros = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDn13Y6CznabMvKJPIrr/dj1TX4boe8F98yc3FDElJeprQo2RXlDzjg/po9/lHTHaoC5yQUjlRg/AnI4vizYkn2sqJebAeSPahmpS+l0eFnjZgsqds2cCFqSPB6Qc5YEkGRhN4aq/ABz0jdFJLBYOYGxuuXowYxyNrqrItxDR7tF7upG+kVjYiDoP/qFm8C7zv6Zy8aoehNbzf8HlIJd0ITbMr/vUftNsQ8C84QmbZljReHmchPgE8GUfVLTlCORkhndbvNX3jXo+75y7JOIZZ6193FZHM4seg/VSDWYLJtpnhttD1w6qmiLrlimqbJB9ihoXq2eDmQ+4zo6hxQ6pFH6P0xQClJ0hxVWn6hEM3rkMwoMfbq4v54gKJsYxcGdnwjAX6d9DQv/QVjmVZffKWsGGoC7uz7bdmc0akVKi+GLSPOx8sJwXqvyvFStfqLaweVcuikUqQ72JLK7pZyliA7na6KuQ1PE3LTpfSr0lbBJ73xtS2rU1nF/Oe5zwA4LX5s/QeDVmS86D8acUrSCO62pBB3Yv8go0KR4mEvfxLiUWV6gR2uTeIPXvo4ouYFZqyABAGybjUATlGCXJaeHd/y/VWkpIB8ocqNESlRMCEe4TrYjw91AEmYBL6kWIeop3dyhovm3dTB3fQvC97kbL16wuXBrOcN4lEc+56ShhmvdQ== kieran.meinhardt@gmail.com";
|
||||
@@ -9,8 +9,37 @@ in {
|
||||
<system/hardware-configuration.nix>
|
||||
<system/containers.nix>
|
||||
<modules/retiolum.nix>
|
||||
<modules/telegram-bot.nix>
|
||||
{
|
||||
sound.enable = true;
|
||||
|
||||
sound.extraConfig = ''
|
||||
defaults.ctl.card 1
|
||||
defaults.pcm.card 1
|
||||
'';
|
||||
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
systemWide = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
|
||||
users.users.root.extraGroups = [ "audio" ];
|
||||
}
|
||||
{
|
||||
documentation.enable = false;
|
||||
documentation.doc.enable = false;
|
||||
documentation.man.enable = false;
|
||||
documentation.info.enable = false;
|
||||
fonts.fontconfig.enable = false;
|
||||
}
|
||||
];
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
autorenkalender = pkgs.callPackage <packages/autorenkalender.nix> {};
|
||||
literature-quote = pkgs.callPackage <packages/literature-quote.nix> {};
|
||||
};
|
||||
|
||||
boot.loader.grub.enable = false;
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
|
||||
@@ -26,26 +55,11 @@ in {
|
||||
environment.variables.TERM = "linux";
|
||||
environment.variables.HTOPRC = toString <dot/htoprc>;
|
||||
|
||||
documentation.enable = false;
|
||||
documentation.doc.enable = false;
|
||||
documentation.man.enable = false;
|
||||
documentation.info.enable = false;
|
||||
fonts.fontconfig.enable = false;
|
||||
|
||||
programs.tmux.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
vim
|
||||
htop
|
||||
];
|
||||
environment.systemPackages = with pkgs; [ git vim htop ];
|
||||
|
||||
users.mutableUsers = false;
|
||||
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
openDefaultPorts = true;
|
||||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
users.users.root.openssh.authorizedKeys.keys = [
|
||||
sshKey.homeros
|
||||
|
||||
@@ -4,81 +4,57 @@ let
|
||||
telegram-betacode = pkgs.python3Packages.callPackage <packages/telegram-betacode.nix> {};
|
||||
# telegram-horoscope = pkgs.python3Packages.callPackage <packages/telegram-horoscope.nix> {};
|
||||
telegram-proverb = pkgs.python3Packages.callPackage <packages/telegram-proverb.nix> {};
|
||||
autorenkalender = pkgs.callPackage <packages/autorenkalender.nix> {};
|
||||
literature-quote = pkgs.callPackage <packages/literature-quote.nix> {};
|
||||
in {
|
||||
# containers.telegram-bots = {
|
||||
# autoStart = true;
|
||||
# config = {
|
||||
systemd.services.quotebot = {
|
||||
enable = true;
|
||||
startAt = "08:00";
|
||||
serviceConfig.Type = "oneshot";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = {
|
||||
TELEGRAM_AUTORENKALENDER_CHAT = "18980945";
|
||||
TELEGRAM_AUTORENKALENDER_TOKEN = lib.strings.removeSuffix "\n" (builtins.readFile <secrets/telegram-kmein.token>);
|
||||
};
|
||||
script = ''
|
||||
TELEGRAM_ENDPOINT="https://api.telegram.org/bot$TELEGRAM_AUTORENKALENDER_TOKEN"
|
||||
${pkgs.curl}/bin/curl -s \
|
||||
-X POST "$TELEGRAM_ENDPOINT/sendMessage" \
|
||||
-d chat_id="$TELEGRAM_AUTORENKALENDER_CHAT" \
|
||||
-d parse_mode=Markdown \
|
||||
-d text="$(${literature-quote}/bin/literature-quote)"
|
||||
'';
|
||||
};
|
||||
niveum.telegramBots.quotebot = {
|
||||
enable = true;
|
||||
time = "08:00";
|
||||
token = lib.strings.removeSuffix "\n" (builtins.readFile <secrets/telegram-kmein.token>);
|
||||
chatId = "18980945";
|
||||
command = "${pkgs.literature-quote}/bin/literature-quote";
|
||||
parseMode = "Markdown";
|
||||
};
|
||||
|
||||
systemd.services.autorenbot = {
|
||||
enable = true;
|
||||
startAt = "07:00";
|
||||
serviceConfig.Type = "oneshot";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = {
|
||||
TELEGRAM_AUTORENKALENDER_CHAT = "@autorenkalender";
|
||||
TELEGRAM_AUTORENKALENDER_TOKEN = lib.strings.removeSuffix "\n" (builtins.readFile <secrets/telegram-kmein.token>);
|
||||
};
|
||||
script = ''
|
||||
TELEGRAM_ENDPOINT="https://api.telegram.org/bot$TELEGRAM_AUTORENKALENDER_TOKEN"
|
||||
${pkgs.curl}/bin/curl -s \
|
||||
-X POST "$TELEGRAM_ENDPOINT/sendMessage" \
|
||||
-d chat_id="$TELEGRAM_AUTORENKALENDER_CHAT" \
|
||||
-d text="$(${autorenkalender}/bin/autorenkalender)"
|
||||
'';
|
||||
};
|
||||
systemd.services.telegram-reverse = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Telegram bot for reversing things";
|
||||
environment.TELEGRAM_REVERSE_TOKEN = builtins.readFile <secrets/telegram-reverse.token>;
|
||||
enable = true;
|
||||
script = ''${telegram-reverse}/bin/telegram-reverse'';
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
systemd.services.telegram-betacode = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Telegram bot for converting Ancient Greek betacode into unicode";
|
||||
environment.TELEGRAM_BETACODE_TOKEN = builtins.readFile <secrets/telegram-betacode.token>;
|
||||
enable = true;
|
||||
script = ''${telegram-betacode}/bin/telegram-betacode'';
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
systemd.services.telegram-proverb = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Telegram bot for generating inspiring but useless proverbs";
|
||||
environment.TELEGRAM_PROVERB_TOKEN = builtins.readFile <secrets/telegram-proverb.token>;
|
||||
enable = true;
|
||||
script = ''${telegram-proverb}/bin/proverb_bot.py'';
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
# systemd.services.telegram-horoscope = {
|
||||
# wantedBy = [ "multi-user.target" ];
|
||||
# description = "Telegram bot for generating horoscope charts";
|
||||
# environment.TELEGRAM_HOROSCOPE_TOKEN = builtins.readFile <secrets/telegram-horoscope.token>;
|
||||
# environment.GOOGLE_MAPS_API_KEY = builtins.readFile <secrets/google-maps.api-key>;
|
||||
# enable = true;
|
||||
# script = ''${telegram-horoscope}/bin/telegram-horoscope'';
|
||||
# serviceConfig.Restart = "always";
|
||||
# };
|
||||
# };
|
||||
niveum.telegramBots.autorenkalender = {
|
||||
enable = true;
|
||||
time = "07:00";
|
||||
token = lib.strings.removeSuffix "\n" (builtins.readFile <secrets/telegram-kmein.token>);
|
||||
chatId = "@autorenkalender";
|
||||
command = "${pkgs.autorenkalender}/bin/autorenkalender";
|
||||
};
|
||||
|
||||
systemd.services.telegram-reverse = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Telegram bot for reversing things";
|
||||
environment.TELEGRAM_REVERSE_TOKEN = builtins.readFile <secrets/telegram-reverse.token>;
|
||||
enable = true;
|
||||
script = ''${telegram-reverse}/bin/telegram-reverse'';
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
|
||||
systemd.services.telegram-betacode = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Telegram bot for converting Ancient Greek betacode into unicode";
|
||||
environment.TELEGRAM_BETACODE_TOKEN = builtins.readFile <secrets/telegram-betacode.token>;
|
||||
enable = true;
|
||||
script = ''${telegram-betacode}/bin/telegram-betacode'';
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
|
||||
systemd.services.telegram-proverb = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Telegram bot for generating inspiring but useless proverbs";
|
||||
environment.TELEGRAM_PROVERB_TOKEN = builtins.readFile <secrets/telegram-proverb.token>;
|
||||
enable = true;
|
||||
script = ''${telegram-proverb}/bin/proverb_bot.py'';
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
# systemd.services.telegram-horoscope = {
|
||||
# wantedBy = [ "multi-user.target" ];
|
||||
# description = "Telegram bot for generating horoscope charts";
|
||||
# environment.TELEGRAM_HOROSCOPE_TOKEN = builtins.readFile <secrets/telegram-horoscope.token>;
|
||||
# environment.GOOGLE_MAPS_API_KEY = builtins.readFile <secrets/google-maps.api-key>;
|
||||
# enable = true;
|
||||
# script = ''${telegram-horoscope}/bin/telegram-horoscope'';
|
||||
# serviceConfig.Restart = "always";
|
||||
# };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user