diff --git a/flake.nix b/flake.nix index 34a1091..3d23908 100644 --- a/flake.nix +++ b/flake.nix @@ -413,6 +413,7 @@ vg = pkgs.callPackage packages/vg.nix {}; vim = pkgs.callPackage packages/vim.nix {niveumPackages = self.packages.${system};}; obsidian-vim = pkgs.callPackage packages/obsidian-vim.nix {}; + radio-news = pkgs.callPackage packages/radio-news.nix {}; vimPlugins-cheat-sh-vim = pkgs.callPackage packages/vimPlugins/cheat-sh.nix {}; vimPlugins-icalendar-vim = pkgs.callPackage packages/vimPlugins/icalendar-vim.nix {}; vimPlugins-jq-vim = pkgs.callPackage packages/vimPlugins/jq-vim.nix {}; diff --git a/packages/radio-news.nix b/packages/radio-news.nix new file mode 100644 index 0000000..b6f0366 --- /dev/null +++ b/packages/radio-news.nix @@ -0,0 +1,47 @@ +{ writers, lib, gnused, curl, jq, yq }: +writers.writeBashBin "radio-news" '' + set -efu + PATH=$PATH:${lib.makeBinPath [gnused curl jq yq]} + + 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 < (now - (60 * 60 * 24))) | {title, description}) - ' - ) - - SYSTEM_PROMPT=$(cat <