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

mopidy, mail, telegram

This commit is contained in:
Kierán Meinhardt
2019-04-20 09:08:39 +02:00
parent 7d6dbc2809
commit 8e55e595c4
15 changed files with 232 additions and 125 deletions

View File

@@ -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

View File

@@ -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";
# };
}