complete-computing-environment/tt-rss.org

2.2 KiB

Tiny-Tiny RSS

{ pkgs, ... }:

let
  wallabag = pkgs.stdenv.mkDerivation rec {
    pname = "tt-rss-plugin-wallabag";
    version = "2.0.0";

    src = pkgs.callPackage pkgs.lib.pkgVersions.ttrss_wallabag {};
    installPhase = ''
      mkdir -p $out/wallabag_v2
      cp -r wallabag_v2/* $out/wallabag_v2/
    '';
  };

  large_apod = pkgs.stdenv.mkDerivation rec {
    pname = "tt-rss-plugin-large-apod";
    version = "0.0.1";
    src = pkgs.callPackage pkgs.lib.pkgVersions.large_apod {};

    installPhase = ''
      mkdir -p $out/large_apod
      cp -r large_apod/* $out/large_apod
    '';
  };

  readability = pkgs.stdenv.mkDerivation rec {
    pname = "tt-rss-plugin-af_readability";
    version = "0.0.1";
    src = pkgs.callPackage pkgs.lib.pkgVersions.ttrss_readability {};

    installPhase = ''
      mkdir -p $out/af_readability
      cp -r ./* $out/af_readability
    '';
  };

  fever = pkgs.stdenv.mkDerivation rec {
    pname = "tt-rss-plugin-fever";
    version = "0.1.0";
    src = pkgs.callPackage pkgs.lib.pkgVersions.fever_plugin {};

    installPhase = ''
      mkdir -p $out/fever
      cp -r ./* $out/fever
    '';
  };
in {
  services.tt-rss = {
    enable = true;
    database = {
      type = "pgsql";
    };
    logDestination = "syslog";
    root = "/srv/tt-rss";
    selfUrlPath = "https://feeds.whatthefuck.computer";
    virtualHost = "feeds.whatthefuck.computer";
    pluginPackages = [
      wallabag
      large_apod
      readability
      fever
    ];
    plugins = [
      "auth_internal"
      "note"
      "wallabag_v2"
      "large_apod"
      "af_readability"
      "fever"
    ];
  };
}

Using tt-rss in Emacs

(use-package elfeed)

(use-package elfeed-protocol
  :config
  (setq elfeed-use-curl t)
  (setq elfeed-log-level 'debug)
  (setq elfeed-protocol-log-trace t)
  (elfeed-set-timeout 36000)
  (elfeed-protocol-enable))