]>
Commit | Line | Data |
---|---|---|
86663f17 IB |
1 | { ttrss_config ? "/etc/ttrss/config.php" |
2 | , varDir ? "/var/lib/ttrss" | |
34c7b88e | 3 | , stdenv, mylibs, lib, callPackage }: |
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; | |
86663f17 IB |
22 | package = stdenv.mkDerivation (mylibs.fetchedGit ./tt-rss.json // rec { |
23 | buildPhase = '' | |
24 | rm -rf lock feed-icons cache | |
25 | ln -sf ${varDir}/{lock,feed-icons,cache} . | |
34c7b88e IB |
26 | ''; |
27 | installPhase = '' | |
28 | cp -a . $out | |
29 | ln -s ${ttrss_config} $out/config.php | |
30 | ''; | |
31 | passthru = toPassthru package []; | |
86663f17 IB |
32 | }); |
33 | in package |