home: RSS: specify feeds in a friendlier schema
This commit is contained in:
parent
8afe0c0be5
commit
a118e17b32
218
modules/universal/env/feeds.nix
vendored
218
modules/universal/env/feeds.nix
vendored
|
@ -40,85 +40,215 @@ with lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
sane.feeds.rss = mkOption {
|
sane.feeds.rss = mkOption {
|
||||||
# the format here is just what's native to gfeeds
|
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
default = {
|
default = {
|
||||||
# AGGREGATORS (> 1 post/day)
|
# AGGREGATORS (> 1 post/day)
|
||||||
"https://www.lesswrong.com/feed.xml" = { tags = [ "hourly" "rat" ]; };
|
"https://www.lesswrong.com/feed.xml" = {
|
||||||
"http://www.econlib.org/index.xml" = { tags = [ "hourly" "pol" ]; };
|
cat = "rat";
|
||||||
|
freq = "hourly";
|
||||||
|
};
|
||||||
|
"http://www.econlib.org/index.xml" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "hourly";
|
||||||
|
};
|
||||||
# AGGREGATORS (< 1 post/day)
|
# AGGREGATORS (< 1 post/day)
|
||||||
"https://palladiummag.com/feed" = { tags = [ "weekly" "uncat" ]; };
|
"https://palladiummag.com/feed" = {
|
||||||
"https://profectusmag.com/feed" = { tags = [ "weekly" "uncat" ]; };
|
cat = "uncat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
"https://profectusmag.com/feed" = {
|
||||||
|
cat = "uncat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
|
||||||
"https://semiaccurate.com/feed" = { tags = [ "weekly" "tech" ]; };
|
"https://semiaccurate.com/feed" = {
|
||||||
"https://linuxphoneapps.org/blog/atom.xml" = { tags = [ "infrequent" "tech" ]; };
|
cat = "tech";
|
||||||
"https://spectrum.ieee.org/rss" = { tags = [ "weekly" "tech" ]; };
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
"https://linuxphoneapps.org/blog/atom.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequently";
|
||||||
|
};
|
||||||
|
"https://spectrum.ieee.org/rss" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
|
||||||
## No Moods, Ads or Cutesy Fucking Icons
|
## No Moods, Ads or Cutesy Fucking Icons
|
||||||
"https://www.rifters.com/crawl/?feed=rss2" = { tags = [ "weekly" "uncat" ]; };
|
"https://www.rifters.com/crawl/?feed=rss2" = {
|
||||||
|
cat = "uncat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
|
||||||
# DEVELOPERS
|
# DEVELOPERS
|
||||||
"https://mg.lol/blog/rss/" = { tags = [ "infrequent" "tech" ]; };
|
"https://mg.lol/blog/rss/" = {
|
||||||
|
cat = "infrequent";
|
||||||
|
freq = "tech";
|
||||||
|
};
|
||||||
## Ken Shirriff
|
## Ken Shirriff
|
||||||
"https://www.righto.com/feeds/posts/default" = { tags = [ "infrequent" "tech" ]; };
|
"https://www.righto.com/feeds/posts/default" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
|
||||||
## Vitalik Buterin
|
## Vitalik Buterin
|
||||||
"https://vitalik.ca/feed.xml" = { tags = [ "infrequent" "tech" ]; };
|
"https://vitalik.ca/feed.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
## ian (Sanctuary)
|
## ian (Sanctuary)
|
||||||
"https://sagacioussuricata.com/feed.xml" = { tags = [ "infrequent" "tech" ]; };
|
"https://sagacioussuricata.com/feed.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
## Bunnie Juang
|
## Bunnie Juang
|
||||||
"https://www.bunniestudios.com/blog/?feed=rss2" = { tags = [ "infrequent" "tech" ]; };
|
"https://www.bunniestudios.com/blog/?feed=rss2" = {
|
||||||
"https://blog.danieljanus.pl/atom.xml" = { tags = [ "infrequent" "tech" ]; };
|
cat = "tech";
|
||||||
"https://ianthehenry.com/feed.xml" = { tags = [ "infrequent" "tech" ]; };
|
freq = "infrequent";
|
||||||
"https://bitbashing.io/feed.xml" = { tags = [ "infrequent" "tech" ]; };
|
};
|
||||||
"https://idiomdrottning.org/feed.xml" = { tags = [ "daily" "uncat" ]; };
|
"https://blog.danieljanus.pl/atom.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
"https://ianthehenry.com/feed.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
"https://bitbashing.io/feed.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
"https://idiomdrottning.org/feed.xml" = {
|
||||||
|
cat = "uncat";
|
||||||
|
freq = "daily";
|
||||||
|
};
|
||||||
|
|
||||||
# (TECH; POL) COMMENTATORS
|
# (TECH; POL) COMMENTATORS
|
||||||
"http://benjaminrosshoffman.com/feed" = { tags = [ "weekly" "pol" ]; };
|
"http://benjaminrosshoffman.com/feed" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
## Ben Thompson
|
## Ben Thompson
|
||||||
"https://www.stratechery.com/rss" = { tags = [ "weekly" "pol" ]; };
|
"https://www.stratechery.com/rss" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
## Balaji
|
## Balaji
|
||||||
"https://balajis.com/rss" = { tags = [ "weekly" "pol" ]; };
|
"https://balajis.com/rss" = {
|
||||||
"https://www.ben-evans.com/benedictevans/rss.xml" = { tags = [ "weekly" "pol" ]; };
|
cat = "pol";
|
||||||
"https://www.lynalden.com/feed" = { tags = [ "infrequent" "pol" ]; };
|
freq = "weekly";
|
||||||
"https://austinvernon.site/rss.xml" = { tags = [ "infrequent" "tech" ]; };
|
};
|
||||||
"https://oversharing.substack.com/feed" = { tags = [ "daily" "pol" ]; };
|
"https://www.ben-evans.com/benedictevans/rss.xml" = {
|
||||||
"https://doomberg.substack.com/feed" = { tags = [ "weekly" "tech" ]; };
|
cat = "pol";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
"https://www.lynalden.com/feed" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
"https://austinvernon.site/rss.xml" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
"https://oversharing.substack.com/feed" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "daily";
|
||||||
|
};
|
||||||
|
"https://doomberg.substack.com/feed" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
## David Rosenthal
|
## David Rosenthal
|
||||||
"https://blog.dshr.org/rss.xml" = { tags = [ "weekly" "pol" ]; };
|
"https://blog.dshr.org/rss.xml" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
## Matt Levine
|
## Matt Levine
|
||||||
"https://www.bloomberg.com/opinion/authors/ARbTQlRLRjE/matthew-s-levine.rss" = { tags = [ "weekly" "pol" ]; };
|
"https://www.bloomberg.com/opinion/authors/ARbTQlRLRjE/matthew-s-levine.rss" = {
|
||||||
|
cat = "pol";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
|
||||||
# RATIONALITY/PHILOSOPHY/ETC
|
# RATIONALITY/PHILOSOPHY/ETC
|
||||||
"https://samkriss.substack.com/feed" = { tags = [ "infrequent" "uncat" ]; }; # ... satire? phil?
|
"https://samkriss.substack.com/feed" = {
|
||||||
"https://unintendedconsequenc.es/feed" = { tags = [ "infrequent" "rat" ]; };
|
cat = "uncat";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
# ... satire? phil?
|
||||||
|
"https://unintendedconsequenc.es/feed" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
|
||||||
"https://applieddivinitystudies.com/atom.xml" = { tags = [ "weekly" "rat" ]; };
|
"https://applieddivinitystudies.com/atom.xml" = {
|
||||||
"https://slimemoldtimemold.com/feed.xml" = { tags = [ "weekly" "rat" ]; };
|
cat = "rat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
"https://slimemoldtimemold.com/feed.xml" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
|
||||||
"https://www.richardcarrier.info/feed" = { tags = [ "weekly" "rat" ]; };
|
"https://www.richardcarrier.info/feed" = {
|
||||||
"https://www.gwern.net/feed.xml" = { tags = [ "infrequent" "uncat" ]; };
|
cat = "rat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
|
"https://www.gwern.net/feed.xml" = {
|
||||||
|
cat = "uncat";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
|
||||||
## Jason Crawford
|
## Jason Crawford
|
||||||
"https://rootsofprogress.org/feed.xml" = { tags = [ "weekly" "rat" ]; };
|
"https://rootsofprogress.org/feed.xml" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "weekly";
|
||||||
|
};
|
||||||
## Robin Hanson
|
## Robin Hanson
|
||||||
"https://www.overcomingbias.com/feed" = { tags = [ "daily" "rat" ]; };
|
"https://www.overcomingbias.com/feed" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "daily";
|
||||||
|
};
|
||||||
## Scott Alexander
|
## Scott Alexander
|
||||||
"https://astralcodexten.substack.com/feed.xml" = { tags = [ "daily" "rat" ]; };
|
"https://astralcodexten.substack.com/feed.xml" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "daily";
|
||||||
|
};
|
||||||
## Paul Christiano
|
## Paul Christiano
|
||||||
"https://sideways-view.com/feed" = { tags = [ "infrequent" "rat" ]; };
|
"https://sideways-view.com/feed" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
## Sean Carroll
|
## Sean Carroll
|
||||||
"https://www.preposterousuniverse.com/rss" = { tags = [ "infrequent" "rat" ]; };
|
"https://www.preposterousuniverse.com/rss" = {
|
||||||
|
cat = "rat";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
|
|
||||||
# COMICS
|
# COMICS
|
||||||
"https://www.smbc-comics.com/comic/rss" = { tags = [ "daily" "visual" ]; };
|
"https://www.smbc-comics.com/comic/rss" = {
|
||||||
"https://xkcd.com/atom.xml" = { tags = [ "daily" "visual" ]; };
|
cat = "visual";
|
||||||
"http://dilbert.com/feed" = { tags = ["daily" "visual" ]; };
|
freq = "daily";
|
||||||
|
};
|
||||||
|
"https://xkcd.com/atom.xml" = {
|
||||||
|
cat = "visual";
|
||||||
|
freq = "daily";
|
||||||
|
};
|
||||||
|
"http://dilbert.com/feed" = {
|
||||||
|
freq = "daily";
|
||||||
|
cat = "visual";
|
||||||
|
};
|
||||||
|
|
||||||
# ART
|
# ART
|
||||||
"https://miniature-calendar.com/feed" = { tags = [ "daily" "visual" ]; };
|
"https://miniature-calendar.com/feed" = {
|
||||||
|
cat = "visual";
|
||||||
|
freq = "daily";
|
||||||
|
};
|
||||||
|
|
||||||
# CODE
|
# CODE
|
||||||
"https://github.com/Kaiteki-Fedi/Kaiteki/commits/master.atom" = { tags = [ "infrequent" "tech" ]; };
|
"https://github.com/Kaiteki-Fedi/Kaiteki/commits/master.atom" = {
|
||||||
|
cat = "tech";
|
||||||
|
freq = "infrequent";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
4
modules/universal/env/home-manager.nix
vendored
4
modules/universal/env/home-manager.nix
vendored
|
@ -233,7 +233,7 @@ in
|
||||||
xdg.configFile."newsflashFeeds.opml".text =
|
xdg.configFile."newsflashFeeds.opml".text =
|
||||||
let
|
let
|
||||||
entries = sysconfig.sane.feeds.rss;
|
entries = sysconfig.sane.feeds.rss;
|
||||||
urlsForCat = cat: builtins.filter (rss: builtins.elem cat entries."${rss}".tags) (builtins.attrNames entries);
|
urlsForCat = cat: builtins.filter (rss: entries."${rss}".cat == cat) (builtins.attrNames entries);
|
||||||
outlineEntriesFor = cat: builtins.map (rss: ''
|
outlineEntriesFor = cat: builtins.map (rss: ''
|
||||||
<outline type="rss" xmlUrl="${rss}" />
|
<outline type="rss" xmlUrl="${rss}" />
|
||||||
'') (urlsForCat cat);
|
'') (urlsForCat cat);
|
||||||
|
@ -266,7 +266,7 @@ in
|
||||||
|
|
||||||
# gnome feeds RSS viewer
|
# gnome feeds RSS viewer
|
||||||
xdg.configFile."org.gabmus.gfeeds.json".text = builtins.toJSON {
|
xdg.configFile."org.gabmus.gfeeds.json".text = builtins.toJSON {
|
||||||
feeds = sysconfig.sane.feeds.rss;
|
feeds = builtins.mapAttrs (r: p: { tags = [ p.cat p.freq ]; }) sysconfig.sane.feeds.rss;
|
||||||
dark_reader = false;
|
dark_reader = false;
|
||||||
new_first = true;
|
new_first = true;
|
||||||
# windowsize = {
|
# windowsize = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user