]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - default.nix
Use more up to date version of yarn2nix
[perso/Immae/Config/Nix.git] / default.nix
index 3772d44afd6e8c64549307f42e226d24fb2bd1f9..d003e908fe21301c13a13c674bee07909e1ab4dc 100644 (file)
@@ -1,45 +1,7 @@
-with import (builtins.fetchTarball {
-  # FIXME: upgrade to nixpkgs 19 when stable and stick to stable
-  # versions
-  name = "nixos-unstable-2018-12-08";
-  url = https://github.com/nixos/nixpkgs/archive/61c3169a0e17d789c566d5b241bfe309ce4a6275.tar.gz;
-  sha256 = "0qbycg7wkb71v20rchlkafrjfpbk2fnlvvbh3ai9pyfisci5wxvq";
-}) {};
+with import ./libs.nix;
+with import <nixpkgs> {};
 let
-  stable_nixpkgs = import <nixpkgs> {};
   mypkgs = {};
-  postHook =  ''
-    header() {
-      echo -ne "\033[1;36m"
-      echo -n "$1"
-      echo -e "\033[0m"
-    }
-
-    echoCmd() {
-      printf "\033[1;34m%s:\033[0m" "$1"
-      shift
-      printf ' %q' "$@"
-      echo
-    }
-  '';
-
-  fetchedGithub = path:
-    let
-      json = lib.importJSON path;
-    in rec {
-      version = json.tag;
-      name = "${json.meta.name}-${version}";
-      src = fetchFromGitHub json.github;
-    };
-
-  fetchedGit = path:
-    let
-      json = lib.importJSON path;
-    in rec {
-      version = json.tag;
-      name = "${json.meta.name}-${version}";
-      src = fetchgit json.git;
-    };
 
   mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
     fetchedGithub ./fetched/ledger.json // {
@@ -99,7 +61,7 @@ let
     configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
   });
 
-  mypkgs.weechat = weechat.override {
+  mypkgs.weechat = nixpkgs_unstable.weechat.override {
     configure = { availablePlugins, ... }: {
       plugins = with availablePlugins; [
          (python.withPackages (ps: with ps; [websocket_client emoji]))
@@ -116,7 +78,7 @@ let
       sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
     };
     outputs = ["out" "man"];
-    propragatedBuildInputs = [ perlPackages.YAML ];
+    propagatedBuildInputs = [ perlPackages.YAML ];
     meta = with stdenv.lib; {
       description = "A perl script for maintaining notes";
       homepage    = http://www.daemon.de/NOTE;
@@ -136,7 +98,7 @@ let
       ./patches/terminal_velocity_sort_found_notes.patch
     ];
 
-    propagatedBuildInputs = [ chardet urwid sh pyyaml ];
+    propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
     buildInputs = [ m2r restructuredtext_lint pygments ];
 
     src = fetchPypi {
@@ -265,25 +227,90 @@ let
   #     '';
   # });
 
-  mastodon = stdenv.mkDerivation (fetchedGithub ./fetched/mastodon.json // rec {
-    buildPhase = ''
-      export GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
-      export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
+  mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
+    name = "goaccess-${version}";
+    version = "1.3";
+    src = fetchurl {
+      url = "https://tar.goaccess.io/${name}.tar.gz";
+      sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
+    };
+    configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
+    buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
+  });
 
-      bundle install --deployment --without development test
-      yarn install --pure-lockfile
-    '';
+  mypkgs.mutt-ics = with python3Packages; buildPythonApplication (fetchedGithub ./fetched/mutt-ics.json // rec {
+    propagatedBuildInputs = [ icalendar ];
+  });
+
+  mypkgs.telegram-cli = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-cli.json // rec {
+    patches = [
+      ./patches/telegram-cli.patch
+      ];
+    buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ];
+    preBuild = ''
+      sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c
+      '';
     installPhase = ''
-      cp -a . $out
-    '';
-    propagatedBuildInputs = [
-      zlib icu libchardet git bundler yarn
-      protobuf protobufc libidn libpqxx nodejs
-      imagemagick ffmpeg libxml2 libxslt pkgconfig
-      autoconf bison libyaml readline ncurses libffi gdbm
-      jemalloc which postgresql python3
-    ];
+      mkdir -p $out
+      install -Dm755 bin/telegram-cli $out/bin/telegram-cli
+      install -Dm644 tg-server.pub $out/etc/server.pub
+      install -Dm644 debian/telegram-cli.8 $out/man/man8/telegram-cli.8
+      '';
+  });
+
+  mypkgs.telegram-history-dump = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-history-dump.json // rec {
+    installPhase = ''
+      mkdir -p $out/lib $out/bin
+      cp -a $src $out/lib/telegram-history-dump
+      ln -s $out/lib/telegram-history-dump/telegram-history-dump.rb $out/bin/telegram-history-dump
+      '';
+    buildInputs = [ ruby ];
   });
+
+  mypkgs.muttprint = stdenv.mkDerivation rec {
+    name = "muttprint-${version}";
+    version = "0.73";
+    src = fetchurl {
+      url = "http://downloads.sf.net/muttprint/${name}.tar.gz";
+      sha256 = "1dny4niyibfgazwlzfcnb37jy6k140rs6baaj629z12rmahfdavw";
+    };
+    patches = [
+      ./patches/muttprint_0.73-4.diff.gz
+      ./patches/muttprint_regex.patch
+      ./patches/muttprint_two_edge.patch
+      ];
+    preConfigure = ''
+      aclocal
+      automake --add-missing --copy
+      autoconf
+      '';
+    preBuild = ''
+      cd pics
+      convert -flop BabyTuX.eps BabyTuX.eps
+      for i in BabyTuX_color.eps BabyTuX.eps Debian_color.eps \
+          Debian.eps Gentoo.eps Gentoo_color.eps ; do
+        convert $i $(basename $i .eps).png
+      done
+      convert penguin.eps penguin.jpg
+      cd ..
+      '';
+    postInstall = ''
+      perlFlags=
+      for i in $(IFS=:; echo $PERL5LIB); do
+          perlFlags="$perlFlags -I$i"
+      done
+
+      sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
+
+      wrapProgram $out/bin/muttprint \
+        --prefix PATH : ${lib.makeBinPath [ psutils dialog
+        (texlive.combine { inherit (texlive) scheme-basic utopia fancyvrb lastpage marvosym ucs cm-super; }) ]}
+      '';
+    buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++
+      (with perlPackages; [ TimeDate FileWhich TextIconv ]);
+  };
+
+  mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
 # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
 in
@@ -293,7 +320,6 @@ in
     inherit timewarrior;
     inherit sc-im;
     inherit pal;
-    inherit duplicity duply;
     inherit pdftk;
     inherit googler;
     inherit jrnl;
@@ -307,7 +333,7 @@ in
     inherit abook khard khal;
     inherit graphicsmagick;
     inherit youtube-dl;
-    inherit ncmpc;
+    inherit ncmpc ncmpcpp;
     inherit cadaver;
     inherit mairix notmuch;
     inherit ctags;
@@ -324,8 +350,28 @@ in
     inherit bogofilter;
     inherit mtr;
     inherit nixops;
-    #inherit mastodon;
+    inherit urlview;
+    inherit rr;
+    inherit nix-zsh-completions;
+    stgit = gitAndTools.stgit;
     # todo: lx* ?, unrar, unzip, zeromq?
     #inherit nextcloud-client;
     #inherit nixos;
-  }
+  } // (with nixpkgs_unstable; {
+    inherit googler;
+    inherit khal;
+    inherit newsboat;
+    inherit xmr-stak;
+    inherit urlwatch;
+    inherit graphicsmagick;
+    inherit ncmpc;
+    inherit solc;
+    inherit w3m lynx links;
+    inherit valgrind;
+    inherit ranger;
+    inherit strace;
+    inherit notmuch;
+    stgit = gitAndTools.stgit;
+    inherit bundix;
+    bower2nix = nodePackages.bower2nix;
+  })