]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - default.nix
Add cryptocurrency nodes
[perso/Immae/Config/Nix.git] / default.nix
index 49013b9f1de35373ddce3c0b943f85d84669f24c..6072d60fd98d04e17a0ec4a1f33f9fdecba3ca44 100644 (file)
@@ -316,6 +316,75 @@ let
 
   mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
 
+  mypkgs.cardano = let
+    daedalusOrig = (import (fetchedGithub ./fetched/daedalus.json).src {}).daedalus;
+    cfg = stdenv.mkDerivation rec {
+      name = "launcher-config-custom";
+      src = daedalusOrig.cfg;
+      installPhase = ''
+        cp -a $src $out
+        chmod -R u+w $out
+        cd $out/etc
+        sed -e "/^walletPath/d" -e "/^walletArgs/d" launcher-config.yaml > launcher-config-server-only.yaml
+        '';
+    };
+    daedalus = stdenv.mkDerivation rec {
+      name = "daedalus-custom";
+      src = daedalusOrig;
+      installPhase = ''
+        cp -a $src $out
+        chmod -R u+w $out
+        cd $out/bin
+        sed -i -e "s@${builtins.storeDir}/[0-9a-z]*-daedalus-config@${cfg}/etc@" daedalus
+        sed -e "s@${cfg}/etc/launcher-config.yaml@${cfg}/etc/launcher-config-server-only.yaml@" daedalus > daedalus-server-only
+        chmod a+x daedalus-server-only
+        '';
+    };
+  in
+    daedalus;
+
+  mypkgs.sia = stdenv.mkDerivation rec {
+    version = "v1.3.7";
+    name = "Sia-${version}";
+    src = fetchzip {
+      url = "https://sia.tech/static/releases/${name}-linux-amd64.zip";
+      sha256 = "1ljzwrlkx4hc16r8siiyakn039afipp95dyr83c8yfq3r3bfasqd";
+    };
+    phases = "installPhase";
+    installPhase = ''
+      mkdir -p $out/share/doc
+      mkdir -p $out/bin
+      mkdir -p $out/share/sia
+      cp -a $src/doc $out/share/doc/sia
+      cp -a $src/LICENSE $src/README.md $out/share/sia
+      cp -a $src/{siac,siad} $out/bin
+      cp -a $src/{siac,siad}.sig $out/share/sia/
+      '';
+  };
+
+  mypkgs.iota-cli-app = let
+    nodeEnv = pkgs.callPackage "${nodePackages.node2nix}/lib/node_modules/node2nix/nix/node-env.nix" {
+      nodejs = nodejs-8_x;
+    };
+    # built using node2nix -8 -l package-lock.json
+    # and changing "./." to "src"
+    packageEnv = import ./fetched/iota-cli-app-node-packages.nix {
+      src = stdenv.mkDerivation (fetchedGithub ./fetched/iota-cli-app.json // {
+        phases = "installPhase";
+        installPhase = ''
+          cp -a $src $out
+          chmod u+w -R $out
+          cd $out
+          sed -i -e "s@host: 'http://localhost',@host: 'https://iri.trytes.eu',@" index.js
+          sed -i -e "s@port: 14265@port: 443@" index.js
+          '';
+      });
+      inherit (pkgs) fetchurl fetchgit;
+      inherit nodeEnv;
+    };
+  in
+    packageEnv.package;
+
   mypkgs.sc-im = sc-im.overrideAttrs (old: {
     buildPhase = ''
       cd src
@@ -409,6 +478,7 @@ in
     inherit rr;
     inherit nix-zsh-completions;
     inherit browsh;
+    inherit monero;
     stgit = gitAndTools.stgit;
     # todo: lx* ?, unrar, unzip, zeromq?
     #inherit nextcloud-client;