riot-web: add config overrides for privacy

Preventing the app from phoning home by default.

GitHub: closes https://github.com/NixOS/nixpkgs/issues/80358
This commit is contained in:
pacien 2020-02-17 16:54:13 +01:00
parent 3285f0f2ff
commit c9e5cca071
2 changed files with 12 additions and 9 deletions

View file

@ -1,9 +1,16 @@
{ lib, stdenv, fetchurl, writeText, conf ? null }:
{ lib, stdenv, fetchurl, writeText, jq, conf ? {} }:
# Note for maintainers:
# Versions of `riot-web` and `riot-desktop` should be kept in sync.
stdenv.mkDerivation rec {
let
noPhoningHome = {
disable_guests = true; # disable automatic guest account registration at matrix.org
piwik = false; # disable analytics
};
configOverrides = writeText "riot-config-overrides.json" (builtins.toJSON (noPhoningHome // conf));
in stdenv.mkDerivation rec {
pname = "riot-web";
version = "1.5.8";
@ -12,16 +19,12 @@ stdenv.mkDerivation rec {
sha256 = "112zjlmxy2s8qcd227laf1lfvbbwwcipn51xb779hy2dci48kpkx";
};
installPhase = let
configFile = if (conf != null)
then writeText "riot-config.json" conf
else "$out/config.sample.json";
in ''
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -R . $out/
ln -s ${configFile} $out/config.json
${jq}/bin/jq -s '.[0] * .[1]' "config.sample.json" "${configOverrides}" > "$out/config.json"
runHook postInstall
'';

View file

@ -2115,7 +2115,7 @@ in
riot-desktop = callPackage ../applications/networking/instant-messengers/riot/riot-desktop.nix { };
riot-web = callPackage ../applications/networking/instant-messengers/riot/riot-web.nix {
conf = config.riot-web.conf or null;
conf = config.riot-web.conf or {};
};
ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {