]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - default.nix
Move more packages to split files
[perso/Immae/Config/Nix.git] / default.nix
index 5e8c4d3a9a4d5ff01dd7edf9a6b62d20c0a0e9a3..ae3b2b76bedaade975f60b7e8e961af533b3846b 100644 (file)
@@ -1,14 +1,8 @@
-with import ./libs.nix;
 with import <nixpkgs> {};
+with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
 let
   mypkgs = {};
 
-  mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
-    fetchedGithub ./fetched/ledger.json // {
-      postInstall = "";
-    }
-  );
-
   mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
     postInstall = ''${old.postInstall}
       mkdir -p "$out/share/vim/vimfiles/ftdetect"
@@ -26,11 +20,18 @@ let
     }
   );
 
-  mypkgs.weboob = pythonPackages.weboob.overrideAttrs (old: rec {
-    postInstall = ''${old.postInstall or ""}
-      mkdir -p $out/share/bash-completion/completions/
-      cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
-    '';
+  mypkgs.weboob = (pythonPackages.weboob.overridePythonAttrs {
+      setupPyBuildFlags = [ "--no-qt" "--xdg" ];
+    }).overrideAttrs (old: rec {
+      version = "1.5";
+      src = fetchurl {
+        url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz";
+        sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z";
+      };
+      postInstall = ''${old.postInstall or ""}
+        mkdir -p $out/share/bash-completion/completions/
+        cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
+      '';
   });
 
   mypkgs.slrn = slrn.overrideAttrs (old: rec {
@@ -61,135 +62,50 @@ let
     configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
   });
 
-  mypkgs.weechat = nixpkgs_unstable.weechat.override {
+  mypkgs.weechat = weechat.override {
     configure = { availablePlugins, ... }: {
       plugins = with availablePlugins; [
+          # Make sure websocket_client is not 0.55.0, it provokes
+          # regular crashes
          (python.withPackages (ps: with ps; [websocket_client emoji]))
          perl
+         ruby
         ];
     };
   };
 
-  buildPerlPackage = perlPackages.buildPerlPackage;
-  mypkgs.note = buildPerlPackage rec {
-    name = "note-1.3.26";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
-      sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
-    };
-    outputs = ["out" "man"];
-    propagatedBuildInputs = [ perlPackages.YAML ];
-    meta = with stdenv.lib; {
-      description = "A perl script for maintaining notes";
-      homepage    = http://www.daemon.de/NOTE;
-      license     = licenses.gpl3;
-      maintainers = with maintainers; [ { name  = "T.v.Dein"; email = "tlinden@cpan.org"; } ];
-      platforms   = platforms.unix;
-    };
-  };
-
-  mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec {
-    pname = "terminal-velocity-git";
-    version = "0.2.0";
-
-    patches = [
-      # FIXME: update this patch when version changes
-      ./patches/terminal_velocity_fix_build.patch
-      ./patches/terminal_velocity_sort_found_notes.patch
-    ];
-
-    propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
-    buildInputs = [ m2r restructuredtext_lint pygments ];
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
-    };
-  };
-
-  mypkgs.mtop = buildPerlPackage rec {
-    name = "mtop-${version}";
-    version = "0.6.6";
-    src = fetchurl {
-      url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
-      sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf";
-    };
-    outputs = ["out"];
-    buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ];
-
-    postInstall = ''
-      cd "$out"
-      preConfigure || true
-    '';
-    meta = with stdenv.lib; {
-      description = "MySQL top (monitor and examine slow queries)";
-      homepage    = http://mtop.sourceforge.net/;
-      license     = licenses.gpl3;
-      maintainers = with maintainers; [ { name  = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ];
-      platforms   = platforms.unix;
-    };
+  mypkgs.boinctui = callPackage ./pkgs/boinctui {};
+  mypkgs.cnagios = callPackage ./pkgs/cnagios { inherit fetchedGithub; };
+  mypkgs.duply = callPackage ./pkgs/duply {};
+  mypkgs.flrn = callPackage ./pkgs/flrn {
+    slang = callPackage ./pkgs/slang_1 {};
+    inherit fetchedGithub;
   };
-
-  mypkgs.tiv = buildPerlPackage rec {
-    name = "tiv-${version}";
-    version = "2015";
-    src = fetchurl {
-      url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
-      sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90";
-    };
-    outputs = ["out"];
-    buildInputs = [ perlPackages.PerlMagick ];
-    perlPreHookScript = ./hooks/tiv_builder.sh;
-    perlPreHook = ''
-      source ${perlPreHookScript}
-    '';
-    installPhase = ''
-      install -Dm755 tiv "$out/bin/tiv"
-    '';
+  mypkgs.genius = callPackage ./pkgs/genius {};
+  mypkgs.mtop = callPackage ./pkgs/mtop {};
+  mypkgs.muttprint = callPackage ./pkgs/muttprint {};
+  mypkgs.mutt-ics = callPackage ./pkgs/mutt-ics { inherit fetchedGithub; };
+  mypkgs.nagios-cli = callPackage ./pkgs/nagios-cli { inherit fetchedGithub; };
+  #mypkgs.nagnu = callPackage ./pkgs/nagnu { inherit fetchedGithub; };
+  mypkgs.note = callPackage ./pkgs/note {};
+  mypkgs.notmuch-python2 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; };
+  mypkgs.notmuch-python3 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; };
+  mypkgs.notmuch-vim = callPackage ./pkgs/notmuch/notmuch-vim {};
+  mypkgs.pg_activity = callPackage ./pkgs/pg_activity { inherit fetchedGithub; };
+  mypkgs.pgloader = callPackage ./pkgs/pgloader { inherit fetchedGithub; };
+  mypkgs.telegram-cli = callPackage ./pkgs/telegram-cli { inherit fetchedGithub; };
+  mypkgs.telegram-history-dump = callPackage ./pkgs/telegram-history-dump { inherit fetchedGithub; };
+  mypkgs.telegramircd = callPackage ./pkgs/telegramircd {
+    telethon = callPackage ./pkgs/telethon_sync {};
+    inherit fetchedGithub;
   };
+  mypkgs.terminal-velocity = callPackage ./pkgs/terminal-velocity {};
+  mypkgs.tiv = callPackage ./pkgs/tiv {};
+  mypkgs.unicode = callPackage ./pkgs/unicode {};
 
-  mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
-    configureFlags = [
-      "--with-etc-dir=/etc/cnagios"
-      "--with-var-dir=/var/lib/naemon"
-      "--with-nagios-data=4"
-    ];
-
-    prePatch = ''
-      sed -i -e "s/-lcurses/-lncurses/" Makefile.in
-    '';
-    installPhase = ''
-      install -dm755 $out/share/doc/cnagios
-      install -Dm644 cnagiosrc $out/share/doc/cnagios/
-      install -Dm644 cnagios.help $out/share/doc/cnagios/
-      install -Dm644 cnagios.pl $out/share/doc/cnagios/
-      install -dm755 $out/bin
-      install -Dm755 cnagios $out/bin/
-    '';
-    propagatedBuildInputs = [ perl ncurses ];
-  });
-
-  mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
-
-  mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
-    propagatedBuildInputs = [ psycopg2 psutil ];
-  });
-
-  mypkgs.pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
-    buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ];
-    LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
-    buildPhase = ''
-      export PATH=$PATH:$out/bin
-      export HOME=$TMPDIR
-      make pgloader
-    '';
-    dontStrip = true;
-    enableParallelBuilding = false;
-    installPhase = ''
-      install -Dm755 build/bin/pgloader "$out/bin/pgloader"
-      wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
-    '';
-  });
+  mypkgs.cardano = callPackage ./pkgs/crypto/cardano { inherit fetchedGithub; };
+  mypkgs.iota-cli-app = callPackage ./pkgs/crypto/iota-cli-app { inherit fetchedGithub; };
+  mypkgs.sia = callPackage ./pkgs/crypto/sia {};
 
   mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
     propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
@@ -215,18 +131,6 @@ let
     }
   );
 
-  # mypkgs.nagnu = stdenv.mkDerivation (fetchedGithub ./fetched/nagnu.json // rec {
-  #   buildInputs = [ ncurses curl ];
-  #   installPhase = ''
-  #     mkdir -p $out/bin
-  #     cp nagnu $out/bin
-  #     mkdir -p $out/share/doc/nagnu
-  #     cp nagnu.conf.sample $out/share/doc/nagnu
-  #     mkdir -p $out/share/man/man8
-  #     cp docs/nagnu.8 $out/share/man/man8
-  #     '';
-  # });
-
   mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
     name = "goaccess-${version}";
     version = "1.3";
@@ -238,78 +142,33 @@ let
     buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
   });
 
-  mypkgs.mutt-ics = with python3Packages; buildPythonApplication (fetchedGithub ./fetched/mutt-ics.json // rec {
-    propagatedBuildInputs = [ icalendar ];
-  });
+  mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
 
-  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 = ''
-      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.sc-im = sc-im.overrideAttrs (old: {
+    buildPhase = ''
+      cd src
+      sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
+      cd ..
+      '' + old.buildPhase;
   });
 
-  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
+  mypkgs.lesspipe = lesspipe.overrideAttrs(old: {
+    configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
+  });
 
-      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; }) ]}
+  mypkgs.dwm = dwm.overrideAttrs(old: rec {
+    postPatch = ''
+      cp ${./patches/dwm_config.h} ./config.h
       '';
-    buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++
-      (with perlPackages; [ TimeDate FileWhich TextIconv ]);
-  };
+  });
 
+  mypkgs.nixops = nixops.overrideAttrs (old: {
+    preConfigure = (old.preConfigure or "") + ''
+      sed -i -e "/'keyFile'/s/'path'/'string'/" nixops/backends/__init__.py
+      '';
+  });
 # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
 in
@@ -317,12 +176,11 @@ in
     inherit nix-prefetch-scripts;
     inherit nix-generate-from-cpan;
     inherit timewarrior;
-    inherit sc-im;
     inherit pal;
     inherit pdftk;
     inherit googler;
     inherit jrnl;
-    inherit apg;
+    inherit apg pwgen;
     inherit newsboat;
     inherit vcsh;
     inherit xmr-stak;
@@ -348,30 +206,34 @@ in
     inherit keybase;
     inherit bogofilter;
     inherit mtr;
-    inherit nixops;
     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;
+    inherit browsh;
+    inherit monero;
+    inherit nextcloud-client;
+    inherit feh imagemagick;
+    inherit lftp;
     stgit = gitAndTools.stgit;
     inherit bundix;
-    inherit yarn2nix;
     bower2nix = nodePackages.bower2nix;
-  })
+    inherit firefox;
+    inherit jq;
+    inherit lzo unzip bzip2 p7zip xz;
+    # unrar is unfree
+    inherit tig;
+    #inherit nixos;
+    inherit emacs26-nox;
+    inherit highlight sourceHighlight;
+    pygmentize = python3Packages.pygments;
+    inherit iftop htop;
+    inherit fetchmail;
+    inherit bc;
+    inherit cpulimit;
+    inherit dmenu st;
+    inherit poppler_utils;
+    inherit tmux;
+    inherit netcat-gnu;
+    inherit ledger;
+    inherit ffmpeg libxslt;
+  }