diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index de2cd7bef6d6..0cd293df40cd 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -570,6 +570,17 @@
6.0.0 to 9.0.0
+
+
+ tt-rss was upgraded to the commit on
+ 2021-06-21, which has breaking changes. If you use
+ services.tt-rss.extraConfig you should
+ migrate to the putenv-style configuration.
+ See
+ this
+ Discourse post in the tt-rss forums for more details.
+
+
The following Visual Studio Code extensions were renamed to
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 1ce78a4d7745..3eefe138fb0d 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -146,6 +146,8 @@ pt-services.clipcat.enable).
- the `mingw-64` package has been upgraded from 6.0.0 to 9.0.0
+- `tt-rss` was upgraded to the commit on 2021-06-21, which has breaking changes. If you use `services.tt-rss.extraConfig` you should migrate to the `putenv`-style configuration. See [this Discourse post](https://community.tt-rss.org/t/rip-config-php-hello-classes-config-php/4337) in the tt-rss forums for more details.
+
- The following Visual Studio Code extensions were renamed to keep the naming convention uniform.
- `bbenoist.Nix` -> `bbenoist.nix`
- `CoenraadS.bracket-pair-colorizer` -> `coenraads.bracket-pair-colorizer`
diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix
index b78487cc9281..ed13845915c4 100644
--- a/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixos/modules/services/web-apps/tt-rss.nix
@@ -19,82 +19,84 @@ let
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
- tt-rss-config = pkgs.writeText "config.php" ''
+ tt-rss-config = let
+ password =
+ if (cfg.database.password != null) then
+ "${(escape ["'" "\\"] cfg.database.password)}"
+ else if (cfg.database.passwordFile != null) then
+ "file_get_contents('${cfg.database.passwordFile}'"
+ else
+ ""
+ ;
+ in pkgs.writeText "config.php" ''
$out/version_static.txt
+
+ runHook postInstall
'';
meta = with lib; {