mirror of
https://github.com/kmein/niveum
synced 2026-03-19 03:21:10 +01:00
catullus: proverb bot, autorenkalender bot
This commit is contained in:
@@ -7,6 +7,7 @@ let
|
|||||||
todoist = pkgs.callPackage <packages/todoist> {};
|
todoist = pkgs.callPackage <packages/todoist> {};
|
||||||
spotify-cli-linux = pkgs.python3Packages.callPackage <packages/spotify-cli-linux.nix> {};
|
spotify-cli-linux = pkgs.python3Packages.callPackage <packages/spotify-cli-linux.nix> {};
|
||||||
instaloader = pkgs.python3Packages.callPackage <packages/instaloader.nix> {};
|
instaloader = pkgs.python3Packages.callPackage <packages/instaloader.nix> {};
|
||||||
|
autorenkalender = pkgs.callPackage <packages/autorenkalender.nix> {};
|
||||||
haskells = import <dot/haskells.nix>;
|
haskells = import <dot/haskells.nix>;
|
||||||
unstable = import <nixos-unstable> {};
|
unstable = import <nixos-unstable> {};
|
||||||
executables = pkgs.haskell.lib.justStaticExecutables;
|
executables = pkgs.haskell.lib.justStaticExecutables;
|
||||||
@@ -196,6 +197,7 @@ in with pkgs;
|
|||||||
aspellDicts.en
|
aspellDicts.en
|
||||||
aspellDicts.la
|
aspellDicts.la
|
||||||
bvg
|
bvg
|
||||||
|
autorenkalender
|
||||||
daybook
|
daybook
|
||||||
gnupg
|
gnupg
|
||||||
jo
|
jo
|
||||||
|
|||||||
@@ -124,9 +124,6 @@ let
|
|||||||
scripts.nix-git = unstable.writers.writeDashBin "nix-git" ''
|
scripts.nix-git = unstable.writers.writeDashBin "nix-git" ''
|
||||||
${pkgs.nix-prefetch-git}/bin/nix-prefetch-git "$@" 2> /dev/null | ${pkgs.jq}/bin/jq -r '"rev = \"\(.rev)\";\nsha256 = \"\(.sha256)\";"'
|
${pkgs.nix-prefetch-git}/bin/nix-prefetch-git "$@" 2> /dev/null | ${pkgs.jq}/bin/jq -r '"rev = \"\(.rev)\";\nsha256 = \"\(.sha256)\";"'
|
||||||
'';
|
'';
|
||||||
scripts.autorenkalender = unstable.writers.writeDashBin "autorenkalender" ''
|
|
||||||
${pkgs.curl}/bin/curl -s https://gutenberg.spiegel.de | ${pkgs.gnused}/bin/sed -n '/Autorenkalender/,/<\/div>/p' | ${pkgs.html2text}/bin/html2text | ${pkgs.coreutils}/bin/tail +2
|
|
||||||
'';
|
|
||||||
scripts.n = unstable.writers.writeDashBin "n" ''
|
scripts.n = unstable.writers.writeDashBin "n" ''
|
||||||
nix-shell -p "''${2:-$1}" --run "$1"
|
nix-shell -p "''${2:-$1}" --run "$1"
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ in {
|
|||||||
|
|
||||||
niveum-deploy() {
|
niveum-deploy() {
|
||||||
for system in "$@"; do
|
for system in "$@"; do
|
||||||
eval $(nix-build ~niveum/deploy.nix -A "$system") &
|
eval $(nix-build ~niveum/deploy.nix -A "$system")
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ nnoremap <C-p> :FZF<CR>
|
|||||||
let g:fzf_layout = { 'down': '~15%' }
|
let g:fzf_layout = { 'down': '~15%' }
|
||||||
|
|
||||||
" colorscheme delek hipster
|
" colorscheme delek hipster
|
||||||
colorscheme 256_noir
|
" colorscheme 256_noir
|
||||||
|
colorscheme paramount
|
||||||
|
|
||||||
let mapleader = ","
|
let mapleader = ","
|
||||||
" let maplocalleader="\\"
|
" let maplocalleader="\\"
|
||||||
|
|||||||
7
packages/autorenkalender.nix
Normal file
7
packages/autorenkalender.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ writeShellScriptBin, w3m, gnused }:
|
||||||
|
writeShellScriptBin "autorenkalender" ''
|
||||||
|
${w3m}/bin/w3m -dump https://gutenberg.spiegel.de/ \
|
||||||
|
| ${gnused}/bin/sed -n '/Autorenkalender/,/━/p' \
|
||||||
|
| head -n -2 \
|
||||||
|
| tail -n +3
|
||||||
|
''
|
||||||
27
packages/telegram-proverb.nix
Normal file
27
packages/telegram-proverb.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{ fetchFromGitHub, buildPythonApplication, buildPythonPackage, fetchPypi, aiohttp, urllib3, pillow, beautifulsoup4 }:
|
||||||
|
let
|
||||||
|
telepot =
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "telepot";
|
||||||
|
version = "12.7";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "1c587dmr71ppray0lzxgib1plnndmaiwal1kaiqx82rdwx4kw4ms";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ aiohttp urllib3 ];
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
|
in buildPythonApplication rec {
|
||||||
|
pname = "telegram-proverb";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
# src = ~/prog/git/proverb-pro;
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kmein";
|
||||||
|
repo = "proverb-pro";
|
||||||
|
rev = "356460f5c542e8f5735c3e3eb5a356a04faf48df";
|
||||||
|
sha256 = "02psipiyvs126b67xkqd72sfjixanrvlg02w3pn2wpc0miy5v0v3";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ telepot pillow beautifulsoup4 ];
|
||||||
|
}
|
||||||
@@ -1,12 +1,31 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
telegram-reverse = pkgs.python3Packages.callPackage <packages/telegram-reverse.nix> {};
|
telegram-reverse = pkgs.python3Packages.callPackage <packages/telegram-reverse.nix> {};
|
||||||
telegram-betacode = pkgs.python3Packages.callPackage <packages/telegram-betacode.nix> {};
|
telegram-betacode = pkgs.python3Packages.callPackage <packages/telegram-betacode.nix> {};
|
||||||
telegram-horoscope = pkgs.python3Packages.callPackage <packages/telegram-horoscope.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> {};
|
||||||
in {
|
in {
|
||||||
containers.telegram-bots = {
|
containers.telegram-bots = {
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
config = {
|
config = {
|
||||||
|
systemd.services.autorenbot = {
|
||||||
|
enable = true;
|
||||||
|
startAt = "07: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 text="$(${autorenkalender}/bin/autorenkalender)"
|
||||||
|
'';
|
||||||
|
};
|
||||||
systemd.services.telegram-reverse = {
|
systemd.services.telegram-reverse = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
description = "Telegram bot for reversing things";
|
description = "Telegram bot for reversing things";
|
||||||
@@ -23,6 +42,14 @@ in {
|
|||||||
script = ''${telegram-betacode}/bin/telegram-betacode'';
|
script = ''${telegram-betacode}/bin/telegram-betacode'';
|
||||||
serviceConfig.Restart = "always";
|
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 = {
|
# systemd.services.telegram-horoscope = {
|
||||||
# wantedBy = [ "multi-user.target" ];
|
# wantedBy = [ "multi-user.target" ];
|
||||||
# description = "Telegram bot for generating horoscope charts";
|
# description = "Telegram bot for generating horoscope charts";
|
||||||
|
|||||||
Reference in New Issue
Block a user