]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - pkgs/webapps/ttrss/default.nix
Move ttrss to pkgs
[perso/Immae/Config/Nix.git] / pkgs / webapps / ttrss / default.nix
diff --git a/pkgs/webapps/ttrss/default.nix b/pkgs/webapps/ttrss/default.nix
new file mode 100644 (file)
index 0000000..0ce2f94
--- /dev/null
@@ -0,0 +1,30 @@
+{ ttrss_config ? "/etc/ttrss/config.php"
+, varDir ? "/var/lib/ttrss"
+, stdenv, mylibs }:
+let
+  withPlugins = plugins: package.overrideAttrs(old: rec {
+    name = "${old.name}-with-plugins";
+    installPhase = old.installPhase +
+      builtins.concatStringsSep "\n" (
+        map (value: "ln -s ${value} $out/plugins/${value.pluginName}") plugins
+      );
+    passthru = old.passthru // {
+      inherit plugins;
+      withPlugins = morePlugins: old.withPlugins (morePlugins ++ plugins);
+    };
+  });
+  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 = {
+      plugins = [];
+      inherit withPlugins;
+    };
+  });
+in package