blob: 38200a1b3365f0e49843b0c13c8137397f4f24ee (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
{ ttrss_config ? "/etc/ttrss/config.php"
, varDir ? "/var/lib/ttrss"
, stdenv, mylibs, lib, callPackage }:
let
pluginNames = [ "auth_ldap" "af_feedmod" "feediron" "ff_instagram" "tumblr_gdpr_ua" ];
allPlugins = lib.attrsets.genAttrs pluginNames
(name: callPackage (./plugins + "/${name}") {});
toPassthru = pkg: plugins: {
inherit plugins allPlugins;
withPlugins = withPlugins pkg;
};
withPlugins = pkg: toPlugins:
let
plugins = toPlugins allPlugins;
toInstallPlugin = n:
"ln -sf ${n} $out/plugins/${n.pluginName}";
newTtrss = pkg.overrideAttrs(old: {
installPhase = old.installPhase + "\n" + builtins.concatStringsSep "\n" (map toInstallPlugin plugins);
passthru = toPassthru newTtrss (pkg.plugins ++ plugins);
});
in newTtrss;
package = stdenv.mkDerivation (mylibs.fetchedGit ./tt-rss.json // rec {
buildPhase = ''
rm -rf lock feed-icons cache
ln -sf ${varDir}/{lock,feed-icons,cache} .
'';
installPhase = ''
cp -a . $out
ln -s ${ttrss_config} $out/config.php
'';
passthru = toPassthru package [];
});
in package
|