diff --git a/modules/universal/env/feeds.nix b/modules/universal/env/feeds.nix index 9d546301..031e70f3 100644 --- a/modules/universal/env/feeds.nix +++ b/modules/universal/env/feeds.nix @@ -3,6 +3,7 @@ with lib; { options = { + # TODO: fold this into RSS, with an `audio` category sane.feeds.podcastUrls = mkOption { type = types.listOf types.str; default = [ diff --git a/modules/universal/env/home-manager.nix b/modules/universal/env/home-manager.nix index a0181d81..bfbcaa79 100644 --- a/modules/universal/env/home-manager.nix +++ b/modules/universal/env/home-manager.nix @@ -214,6 +214,7 @@ in [qt] qt-privacy-ask=0 ''; + xdg.configFile."gpodderFeeds.opml".text = let entries = builtins.toString (builtins.map @@ -228,6 +229,40 @@ in ''; + # news-flash RSS viewer + xdg.configFile."newsflashFeeds.opml".text = + let + entries = sysconfig.sane.feeds.rss; + urlsForCat = cat: builtins.filter (rss: builtins.elem cat entries."${rss}".tags) (builtins.attrNames entries); + outlineEntriesFor = cat: builtins.map (rss: '' + + '') (urlsForCat cat); + outlineFor = cat: let + outlines = outlineEntriesFor cat; + in '' + + ${builtins.toString outlines} + + ''; + outlines = [ + (outlineFor "uncat") + (outlineFor "rat") + (outlineFor "tech") + (outlineFor "pol") + (outlineFor "visual") + ]; + in '' + + + + NewsFlash OPML export + + + ${builtins.toString outlines} + + + ''; + # gnome feeds RSS viewer xdg.configFile."org.gabmus.gfeeds.json".text = builtins.toJSON {