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