diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2022-05-12 18:03:16 +0900 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2022-05-12 18:03:16 +0900 |
commit | dc212c3c203f2fb9835ce2648888f8caf35e99dc (patch) | |
tree | 7bd8d0a7aecad613a56f29176a6d6f947316de43 /element-ipfs.nix | |
parent | 1c2a3ebe9da70a85589c3adcf5087281a95ac7b4 (diff) | |
download | nixos-conf-dc212c3c203f2fb9835ce2648888f8caf35e99dc.tar.gz |
Host Element at than.loang.net
Diffstat (limited to 'element-ipfs.nix')
-rw-r--r-- | element-ipfs.nix | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/element-ipfs.nix b/element-ipfs.nix new file mode 100644 index 0000000..7121d32 --- /dev/null +++ b/element-ipfs.nix @@ -0,0 +1,30 @@ +{ 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 + ''; +} |