]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - default.nix
Add duply and boinctui
[perso/Immae/Config/Nix.git] / default.nix
index 8b2aaaa74493d2eaa939eb8b7f80a28482aacb30..674a72f89f64ed8f5c1b8c52ce0bb9d7d010af76 100644 (file)
@@ -88,7 +88,7 @@ let
     };
   };
 
-  mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec {
+  mypkgs.terminal-velocity = with python2Packages; buildPythonApplication rec {
     pname = "terminal-velocity-git";
     version = "0.2.0";
 
@@ -101,6 +101,9 @@ let
     propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
     buildInputs = [ m2r restructuredtext_lint pygments ];
 
+    postInstall = ''
+      rm $out/bin/terminal_velocity
+      '';
     src = fetchPypi {
       inherit pname version;
       sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
@@ -301,6 +304,7 @@ let
       done
 
       sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
+      sed -i "$out/bin/muttprint" -e "s|ENV{HOME}/.muttprintrc|ENV{XDG_CONFIG_HOME}/muttprint/muttprintrc|"
 
       wrapProgram $out/bin/muttprint \
         --prefix PATH : ${lib.makeBinPath [ psutils dialog
@@ -311,6 +315,187 @@ 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.duply = stdenv.mkDerivation rec {
+    name = "duply-${version}";
+    version = "2.1";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.1.x/duply_${version}.tgz";
+      sha256 = "0i5j7h7h6ssrwhll0sfhymisshg54kx7j45zcqffzjxa0ylvzlm8";
+    };
+
+    buildInputs = [ txt2man makeWrapper ];
+
+    postPatch = "patchShebangs .";
+
+    installPhase = ''
+      mkdir -p "$out/bin"
+      mkdir -p "$out/share/man/man1"
+      install -vD duply "$out/bin"
+      sed -i $out/bin/duply -e "1a \
+      export PATH='${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}'
+      " -e "1a \
+      export DUPL_PYTHON_BIN=$(basename ${duplicity}/lib/python*)
+      "
+      "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Shell front end for the duplicity backup tool";
+      longDescription = ''
+        Duply is a shell front end for the duplicity backup tool
+        http://duplicity.nongnu.org/. It greatly simplifies it's usage by
+        implementing backup job profiles, batch commands and more. Who says
+        secure backups on non-trusted spaces are no child's play?
+      '';
+      homepage = http://duply.net/;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.bjornfor ];
+      platforms = stdenv.lib.platforms.unix;
+    };
+  };
+
+  mypkgs.boinctui = stdenv.mkDerivation rec {
+    name = "boinctui-${version}";
+    version = "2.5.0";
+    src = fetchurl {
+      url = "http://sourceforge.net/projects/boinctui/files/boinctui_${version}.tar.gz";
+      sha256 = "16zxp8r4z6pllacdacg681y56cg2phnn3pm5gwszbsi93cix2g8p";
+    };
+
+    configureFlags = [ "--without-gnutls" ];
+    preConfigure = ''
+      autoconf
+      '';
+
+    preBuild = ''
+      sed -i -e 's/"HOME"/"XDG_CONFIG_HOME"/' src/cfg.cpp
+      sed -i -e 's@\.boinctui\.cfg@boinctui/boinctui.cfg@' src/mainprog.cpp
+      '';
+    buildInputs = [ expat openssl autoconf ncurses ];
+  };
+
+  mypkgs.sc-im = sc-im.overrideAttrs (old: {
+    buildPhase = ''
+      cd src
+      sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
+      cd ..
+      '' + old.buildPhase;
+  });
+
+  mypkgs.notmuch-vim = stdenv.mkDerivation rec {
+    name = "notmuch-vim-${version}";
+    version = nixpkgs_unstable.notmuch.version;
+    outputs = [ "out" ];
+    src = nixpkgs_unstable.notmuch.src;
+    phases = [ "unpackPhase" "installPhase" ];
+    installPhase = ''
+      make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install
+      '';
+  };
+
+  mypkgs.notmuch-python2 = stdenv.mkDerivation rec {
+    name = "notmuch-python2-${version}";
+    version = nixpkgs_unstable.notmuch.version;
+    outputs = [ "out" ];
+    buildInputs = [ python2Packages.sphinx python2Packages.python ];
+    src = nixpkgs_unstable.notmuch.src;
+    phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
+    buildPhase = ''
+      cd bindings/python
+      python setup.py build
+      '';
+    installPhase = ''
+      python setup.py install --prefix=$out --optimize=1
+      '';
+  };
+
+  mypkgs.notmuch-python3 = stdenv.mkDerivation rec {
+    name = "notmuch-python3-${version}";
+    version = nixpkgs_unstable.notmuch.version;
+    outputs = [ "out" ];
+    buildInputs = [ nixpkgs_unstable.python3Packages.sphinx nixpkgs_unstable.python3Packages.python ];
+    src = nixpkgs_unstable.notmuch.src;
+    phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
+    buildPhase = ''
+      cd bindings/python
+      python setup.py build
+      '';
+    installPhase = ''
+      python setup.py install --prefix=$out --optimize=1
+      '';
+  };
+
 # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
 in
@@ -318,7 +503,6 @@ in
     inherit nix-prefetch-scripts;
     inherit nix-generate-from-cpan;
     inherit timewarrior;
-    inherit sc-im;
     inherit pal;
     inherit pdftk;
     inherit googler;
@@ -354,6 +538,7 @@ in
     inherit rr;
     inherit nix-zsh-completions;
     inherit browsh;
+    inherit monero;
     stgit = gitAndTools.stgit;
     # todo: lx* ?, unrar, unzip, zeromq?
     #inherit nextcloud-client;
@@ -371,7 +556,7 @@ in
     inherit valgrind;
     inherit ranger;
     inherit strace;
-    inherit notmuch;
+    inherit notmuch notmuch-mutt;
     stgit = gitAndTools.stgit;
     inherit bundix;
     bower2nix = nodePackages.bower2nix;