{ lib, stdenv, element-web, ipfs, writeText , conf ? {}, ipns-key ? "element" }: let element = element-web.override { conf = conf; }; ipfs-add-element = writeText "ipfs-add-element" '' #!/bin/sh set -xe ipfs=${ipfs}/bin/ipfs element=${element} path=/ipfs/$($ipfs add --recursive --quieter --pin=false $element) $ipfs name publish --key=${ipns-key} $path $ipfs files mkdir -p $(dirname $element) $ipfs files cp $path $element ''; in stdenv.mkDerivation rec { pname = "element-ipfs"; inherit (element) version; buildInputs = [ element ipfs ]; dontUnpack = true; installPhase = '' runHook preInstall install -m755 -D ${ipfs-add-element} $out/bin/ipfs-add-element runHook postInstall ''; }