X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=flakes%2Fmypackages%2Fpkgs%2Fwebapps%2Fttrss%2Fdefault.nix;h=aeb573c32ab91982582509b77344ff549c64048b;hb=776aa3603903616702b8bc1d9e955d3a6da9ee1e;hpb=c7b16397101fd534c41ede5ae7c55e7e120c06f7;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/flakes/mypackages/pkgs/webapps/ttrss/default.nix b/flakes/mypackages/pkgs/webapps/ttrss/default.nix new file mode 100644 index 0000000..aeb573c --- /dev/null +++ b/flakes/mypackages/pkgs/webapps/ttrss/default.nix @@ -0,0 +1,37 @@ +{ ttrss_config ? "/etc/ttrss/config.php" +, varDir ? "/var/lib/ttrss" +, stdenv, lib, callPackage, sources }: +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 rec { + pname = "tt-rss"; + version = sources.webapps-ttrss.version; + name = "${pname}-${version}"; + src = sources.webapps-ttrss; + 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