{ lib , buildNpmPackage , fetchFromGitHub , writeText , jq , python3 , pkg-config , pixman , cairo , pango , stdenv , darwin , conf ? { } }: let configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf); in buildNpmPackage rec { pname = "cinny"; version = "3.1.0"; src = fetchFromGitHub { owner = "cinnyapp"; repo = "cinny"; rev = "v${version}"; hash = "sha256-GcygxK9NcGlv4rwxQCJqi0BhNlOTFxjGB8mbfTaBMOk="; }; npmDepsHash = "sha256-4R+To2LhcnEM9x1noo6MhCckyBKgPWiAi7zgDqAmaN0="; nativeBuildInputs = [ jq python3 pkg-config ]; buildInputs = [ pixman cairo pango ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreText ]; installPhase = '' runHook preInstall cp -r dist $out jq -s '.[0] * .[1]' "config.json" "${configOverrides}" > "$out/config.json" runHook postInstall ''; meta = with lib; { description = "Yet another Matrix client for the web"; homepage = "https://cinny.in/"; maintainers = with maintainers; [ abbe ashkitten ]; license = licenses.agpl3Only; platforms = platforms.all; }; }