1
0
mirror of https://github.com/kmein/niveum synced 2026-03-22 21:01:07 +01:00

8 Commits

12 changed files with 66 additions and 84 deletions

View File

@@ -1,9 +1,9 @@
{
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "20b3d65d34eea0070c991ce169f06d600ec6e1fd",
"date": "2021-06-06T11:40:58+01:00",
"path": "/nix/store/3a18iv748mdfhyy602f5z6s1ig0q3qi8-nixpkgs",
"sha256": "1ja09aifii2n8yzrrv1pjfvp5396iw0fknmhdv7zg3551xkm5385",
"rev": "0fe6e98a780eb71c109d3c526ad95d2c996ca020",
"date": "2021-06-10T17:45:20+00:00",
"path": "/nix/store/7vh9895ga884ilqarr76a81cf8xd8z0b-nixpkgs",
"sha256": "07kl0q47d1j1bbpvhrqv053rxzlml9rim94chn2h6dbizlm8zzs0",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,9 @@
{
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "5de44c15758465f8ddf84d541ba300b48e56eda4",
"date": "2021-06-05T20:40:48+01:00",
"path": "/nix/store/p5mhp3syp0aqkcrwmf8zi3ik7mgxrlgx-nixpkgs",
"sha256": "05darjv3zc5lfqx9ck7by6p90xgbgs1ni6193pw5zvi7xp2qlg4x",
"rev": "60cce7e5e1fdf62421ef6d4184ee399b46209366",
"date": "2021-06-09T01:18:50-04:00",
"path": "/nix/store/fixgn194626rb7gf99l9jaqm0hbqn2ix-nixpkgs",
"sha256": "100xrb925cana1kfd0c7gwkjjalq891vfgr0rn1gl9j8gp3l3gx6",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,9 @@
{
"url": "https://github.com/nix-community/NUR",
"rev": "cbef2d5d75291b088ed99f406740c35e04d249ac",
"date": "2021-06-06T08:25:05+00:00",
"path": "/nix/store/jvfzn3bpm9sb51190cs76ja592cpwndr-NUR",
"sha256": "1il1pvr916v09jds1fvkrxmb6kazz6gag7n06ssvyvk474hyai9z",
"rev": "e6524bff585f2278fa6d91a462ec8cd6a622975c",
"date": "2021-06-10T16:52:18+00:00",
"path": "/nix/store/hrskf3q0cl1lr2l462ackapgvazjdj12-NUR",
"sha256": "0vbgx2dn8c674k3bn76n387841zqws7lvnw28wcd2anszdkkh0p9",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,9 @@
{
"url": "https://github.com/krebs/retiolum",
"rev": "3652bf20b4afcf781d102197518543a6d7ef6236",
"date": "2021-06-01T19:32:16+02:00",
"path": "/nix/store/b6xw7b7m87g9w92ah3iq7i5627758fp6-retiolum",
"sha256": "0nbi2wf9clbfpr8333xncsa7g2bfdwc0ypxs7d3kn9xjkf2xd048",
"rev": "1767b1ed502059a3fad18f91f5e143c73d562d8e",
"date": "2021-06-09T11:32:18+02:00",
"path": "/nix/store/98kaxcbfs1fxa5ccaf41fc2imkjrvcqf-retiolum",
"sha256": "056p14jnzvbvgvxwmqvk8qx8cfdddrrz6dvlj2glwfbzay640ld6",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,9 @@
{
"url": "https://cgit.krebsco.de/stockholm",
"rev": "a461078f13d01693c0da08eb9fd53612b68170eb",
"date": "2021-06-05T11:49:57+02:00",
"path": "/nix/store/sc22zck9cz08vjhdi5z129ggmwabs5zj-stockholm",
"sha256": "0khm0hk8badrrj0s68sg568q1g74y66i1930x1xwyakhc2qb5xca",
"rev": "44c4cb6a453f5bc34c870caa6802548c099e9435",
"date": "2021-06-08T22:52:43+02:00",
"path": "/nix/store/9fsqfikw17y19i3xab2zbvsgzlqhhicx-stockholm",
"sha256": "1r6fdv4bq8kl28bifxfz3sapj8fv1qd83szrsk0i6b8zlbwdkr1z",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -7,13 +7,10 @@
py.pyls-black
py.pyls-isort
py.flake8
py.flask
py.pygments
py.docopt
py.schema
py.ansicolors
py.virtualenv
]))
pkgs.python3Packages.poetry
];
home-manager.users.me.xdg.configFile."pycodestyle".text = ''

View File

@@ -4,58 +4,56 @@ let
telebots-package = pkgs.fetchFromGitHub {
owner = "kmein";
repo = "telebots";
rev = "b4276155114ee96cd3f320e361e52952ea700db6";
sha256 = "08rp1pcisk4zzhxdlgrlhxa0sbza5qhxa70rjycg4r7fmixkkbz2";
rev = "22931c9457e092c4e413555dbe61819d77844246";
sha256 = "0byp3w6li3fin7ry0ki4rmgkaajdil424y5pc1j7ci9mpws0s5ik";
};
in {
reverse =
pkgs.python3Packages.callPackage "${telebots-package}/telegram-reverse"
{ };
odyssey =
pkgs.python3Packages.callPackage "${telebots-package}/telegram-odyssey"
{ };
betacode =
pkgs.python3Packages.callPackage "${telebots-package}/telegram-betacode"
{ };
};
in pkgs.callPackage telebots-package {};
reverseDirectory = "/run/telegram-reverse";
proverbDirectory = "/run/telegram-proverb";
inherit (import <niveum/lib>) tmpfilesConfig;
in {
imports = [
./literature-quote.nix
./autorenkalender.nix
./proverb.nix
./nachtischsatan.nix
./tlg-wotd.nix
<niveum/modules/telegram-bot.nix>
];
systemd.services.telegram-odyssey = {
wantedBy = [ "multi-user.target" ];
description = "Telegram bot reciting the Odyssey to you";
environment.TELEGRAM_ODYSSEY_TOKEN =
lib.strings.fileContents <system-secrets/telegram/odyssey.token>;
enable = true;
script = "${telebots.odyssey}/bin/telegram-odyssey";
serviceConfig.Restart = "always";
};
systemd.tmpfiles.rules = map (path: tmpfilesConfig {
type = "d";
mode = "0750";
age = "1h";
inherit path;
}) [ reverseDirectory proverbDirectory ];
systemd.services.telegram-reverse = {
wantedBy = [ "multi-user.target" ];
description = "Telegram bot for reversing things";
environment.TELEGRAM_REVERSE_TOKEN =
lib.strings.fileContents <system-secrets/telegram/reverse.token>;
description = "Telegram reverse bot";
path = [ pkgs.ffmpeg ];
environment.TELEGRAM_BOT_TOKEN = lib.strings.fileContents <system-secrets/telegram/reverse.token>;
enable = true;
script = "${telebots.reverse}/bin/telegram-reverse";
script = "${telebots}/bin/telegram-reverse";
serviceConfig.Restart = "always";
serviceConfig.WorkingDirectory = reverseDirectory;
};
systemd.services.telegram-betacode = {
wantedBy = [ "multi-user.target" ];
description =
"Telegram bot for converting Ancient Greek betacode into unicode";
environment.TELEGRAM_BETACODE_TOKEN =
lib.strings.fileContents <system-secrets/telegram/betacode.token>;
description = "Telegram beta code bot";
environment.TELEGRAM_BOT_TOKEN = lib.strings.fileContents <system-secrets/telegram/betacode.token>;
enable = true;
script = "${telebots.betacode}/bin/telegram-betacode";
script = "${telebots}/bin/telegram-betacode";
serviceConfig.Restart = "always";
};
systemd.services.telegram-proverb = {
wantedBy = [ "multi-user.target" ];
description = "Telegram proverb bot";
environment.TELEGRAM_BOT_TOKEN = lib.strings.fileContents <system-secrets/telegram/proverb.token>;
enable = true;
script = "${telebots}/bin/telegram-proverb";
serviceConfig.Restart = "always";
serviceConfig.WorkingDirectory = proverbDirectory;
};
}

View File

@@ -4,24 +4,20 @@ let
pkgs.writers.writePython3 "nachtischsatan-bot" {
libraries = [ pkgs.python3Packages.python-telegram-bot ];
} ''
from telegram.ext import Updater, MessageHandler
from telegram.ext.filters import Filters
import random
import time
from telegram.ext import Updater, MessageHandler
from telegram.ext.filters import Filters
def flubber(bot, update):
def flubber(update, context):
time.sleep(random.randrange(4000) / 1000)
update.message.reply_text("*flubberflubber*")
updater = Updater(
'${token}'
)
updater = Updater('${token}')
updater.dispatcher.add_handler(MessageHandler(Filters.all, flubber))
updater.start_polling()
updater.idle()
'';

View File

@@ -1,20 +0,0 @@
{ pkgs, lib, ... }:
let
proverb-bot-package = pkgs.fetchFromGitHub {
owner = "kmein";
repo = "proverb-pro";
rev = "f4201c5419354377a26b7f7873368683efbea417";
sha256 = "1ixffmxy3sxy2if7fd44ps451rds14hnz4d0x9nkh8lzshqk6v4y";
};
telegram-proverb = pkgs.python3Packages.callPackage proverb-bot-package { };
in {
systemd.services.telegram-proverb = {
wantedBy = [ "multi-user.target" ];
description = "Telegram bot for generating inspiring but useless proverbs";
environment.TELEGRAM_PROVERB_TOKEN =
lib.strings.fileContents <system-secrets/telegram/proverb.token>;
enable = true;
script = "${telegram-proverb}/bin/proverb_bot.py";
serviceConfig.Restart = "always";
};
}

View File

@@ -7,6 +7,8 @@
url = "http://prism.r/realwallpaper-krebs-stars-berlin.png";
};
users.users.fetchWallpaper.isSystemUser = true;
services.xserver = {
display = lib.mkForce 0; # needed for fetchWallpaper to find the X display
displayManager.sessionCommands = "${pkgs.xorg.xhost}/bin/xhost +LOCAL:";

View File

@@ -2,6 +2,7 @@
{
networking.wireless = {
enable = true;
interfaces = [ "wlp3s0" ];
userControlled.enable = true;
networks = {
"Aether" = {

View File

@@ -92,6 +92,14 @@ in {
units = "metric";
};
}
{
block = "custom";
interval = 60 * 60;
command = pkgs.writers.writeDash "vax" ''
${pkgs.curl}/bin/curl -sSL https://api.corona-zahlen.org/vaccinations \
| ${pkgs.jq}/bin/jq -r '"💉 \(.data.quote * 100)% \(.data.secondVaccination.quote * 100)%"'
'';
}
{
block = "custom";
interval = 30;