mirror of
https://github.com/kmein/niveum
synced 2026-03-18 11:01:07 +01:00
Compare commits
3 Commits
4c84da9404
...
734f108200
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
734f108200 | ||
| 2ba3c05e4a | |||
| 6ab7e96894 |
30
flake.lock
generated
30
flake.lock
generated
@@ -1109,11 +1109,11 @@
|
||||
},
|
||||
"nixpkgs-unstable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1748134661,
|
||||
"narHash": "sha256-p4cM3XaeN7YLMw4dSRCIZwXPxOS1SelqxPBUNs0IF6A=",
|
||||
"lastModified": 1748739301,
|
||||
"narHash": "sha256-McRTdxeCGaZUw4NOERKy1E1ABry3EktuWCczZND+7MM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "81e63461fb905af981fcb99057a845a930999eaa",
|
||||
"rev": "e1223687f8c41922f384760c87d0e6c0a2fc5c86",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1231,11 +1231,11 @@
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1747862697,
|
||||
"narHash": "sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0=",
|
||||
"lastModified": 1748421225,
|
||||
"narHash": "sha256-XXILOc80tvlvEQgYpYFnze8MkQQmp3eQxFbTzb3m/R0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2baa12ff69913392faf0ace833bc54bba297ea95",
|
||||
"rev": "78add7b7abb61689e34fc23070a8f55e1d26185b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1247,11 +1247,11 @@
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1748026106,
|
||||
"narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=",
|
||||
"lastModified": 1748460289,
|
||||
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "063f43f2dbdef86376cc29ad646c45c46e93234c",
|
||||
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1395,11 +1395,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748124399,
|
||||
"narHash": "sha256-AWYa6QSgYbd0YiOecaTyJ78XSHcLI7yljdSpBTQWB+8=",
|
||||
"lastModified": 1748730660,
|
||||
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "d8bccb87461726979bc4fe9facbdfa0739fe24a2",
|
||||
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1568,11 +1568,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748054080,
|
||||
"narHash": "sha256-rwFiLLNCwkj9bqePtH1sMqzs1xmohE0Ojq249piMzF4=",
|
||||
"lastModified": 1748658947,
|
||||
"narHash": "sha256-F+nGITu6D7RswJlm8qCuU1PCuOSgDeAqaDKWW1n1jmQ=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "2221d8d53c128beb69346fa3ab36da3f19bb1691",
|
||||
"rev": "fc82ce758cc5df6a6d5d24e75710321cdbdc787a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -12,6 +12,7 @@ in {
|
||||
./radio.nix
|
||||
./panoptikon.nix
|
||||
./hledger.nix
|
||||
./wallabag.nix
|
||||
./alew.nix
|
||||
../../configs/monitoring.nix
|
||||
../../configs/mycelium.nix
|
||||
|
||||
44
systems/ful/wallabag.nix
Normal file
44
systems/ful/wallabag.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
let
|
||||
domain = "pocket.kmein.de";
|
||||
port = "8088";
|
||||
dataPath = "/var/lib/wallabag";
|
||||
in
|
||||
{
|
||||
services.nginx.virtualHosts.${domain} = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:${port}";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_body_timeout 3000s;
|
||||
client_header_timeout 3000s;
|
||||
keepalive_timeout 3000s;
|
||||
proxy_read_timeout 3000s;
|
||||
proxy_connect_timeout 3000s;
|
||||
proxy_send_timeout 3000s;
|
||||
'';
|
||||
};
|
||||
|
||||
services.restic.backups.niveum.paths = [ dataPath ];
|
||||
|
||||
virtualisation.oci-containers.containers."${domain}" = {
|
||||
autoStart = true;
|
||||
image = "wallabag/wallabag:2.6.12";
|
||||
ports = [ "${port}:80" ];
|
||||
volumes = [
|
||||
"${dataPath}/data:/var/www/wallabag/data"
|
||||
"${dataPath}/images:/var/www/wallabag/web/assets/images"
|
||||
];
|
||||
environment = {
|
||||
SYMFONY__ENV__DOMAIN_NAME = "https://${domain}";
|
||||
SYMFONY__ENV__FOSUSER_CONFIRMATION = "false";
|
||||
PHP_MEMORY_LIMIT = "512M";
|
||||
SYMFONY__ENV__SERVER_NAME = "Wallabag";
|
||||
};
|
||||
extraOptions = [ "--pull=always" ];
|
||||
};
|
||||
}
|
||||
@@ -23,20 +23,24 @@ in {
|
||||
startAt = "*:50";
|
||||
script = ''
|
||||
set -efu
|
||||
PATH=$PATH:${lib.makeBinPath [pkgs.w3m pkgs.gnused pkgs.curl pkgs.jq]}
|
||||
PATH=$PATH:${lib.makeBinPath [pkgs.w3m pkgs.gnused pkgs.curl pkgs.jq pkgs.yq]}
|
||||
|
||||
export GEMINI_API_KEY="$(cat "$CREDENTIALS_DIRECTORY/gemini-api-key")"
|
||||
|
||||
WIKI_URL="https://en.wikipedia.org/wiki/Portal:Current_events"
|
||||
|
||||
EVENTS=$(w3m -dump "$WIKI_URL" | sed -n "/$(date -I)/,/$(date -I -d yesterday)/p" | head -n -1)
|
||||
EVENTS=$(
|
||||
curl https://www.goodnewsnetwork.org/feed/ \
|
||||
| xq '
|
||||
.rss.channel.item
|
||||
| map(select((.pubDate|strptime("%a, %d %b %Y %H:%M:%S %z")) as $date | ($date | mktime) > (now - (60 * 60 * 24))) | {title, description})
|
||||
'
|
||||
)
|
||||
|
||||
SYSTEM_PROMPT=$(cat <<EOF
|
||||
You are a news anchor writing a short news digest for a radio broadcast.
|
||||
Summarize the following news headlines into a cohesive, engaging script under 400 words.
|
||||
Keep it professional, concise, and easy to follow.
|
||||
|
||||
Begin the digest with: "Here's your news update for $(date -u +"%B %d, %Y")."
|
||||
Begin the digest with: "Here's your good news update for $(date -u +"%B %d, %Y")."
|
||||
EOF
|
||||
)
|
||||
|
||||
@@ -53,8 +57,7 @@ in {
|
||||
{
|
||||
"parts": [
|
||||
{
|
||||
"text": "Current events (from Wikipedia): $(echo "$EVENTS")"
|
||||
|
||||
"text": $(jq -Rs <<< "$EVENTS")
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user