]> 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 c2fe492c626ed84e583b8e9fc1db3303b9499f87..ae3b2b76bedaade975f60b7e8e961af533b3846b 100644 (file)
@@ -1,32 +1,10 @@
 with import <nixpkgs> {};
+with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
 let
-  nixpkgs = import <nixpkgs> {};
-  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 = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs:
-    fetchedGithub ./fetched/ledger.json // {
-      postInstall = "";
-    }
-  );
-
-  taskwarrior = nixpkgs.taskwarrior.overrideAttrs (oldAttrs: rec {
-    postInstall = ''${oldAttrs.postInstall}
+  mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
+    postInstall = ''${old.postInstall}
       mkdir -p "$out/share/vim/vimfiles/ftdetect"
       mkdir -p "$out/share/vim/vimfiles/syntax"
       ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
@@ -36,115 +14,226 @@ let
     '';
   });
 
-  vit = (nixpkgs.vit.override { inherit taskwarrior; }).overrideAttrs (oldAttrs:
+  mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
     fetchedGithub ./fetched/vit.json // {
-      buildInputs = oldAttrs.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
+      buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
     }
   );
 
-  weboob = pythonPackages.weboob.overrideAttrs (oldAttrs: rec {
-    postInstall = ''${oldAttrs.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
+      '';
   });
 
-  slrn = nixpkgs.slrn.overrideAttrs (oldAttrs: rec {
+  mypkgs.slrn = slrn.overrideAttrs (old: rec {
     version = "1.0.3a";
     name = "slrn-${version}";
     src = fetchurl {
       url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
       sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
     };
-    configureFlags = oldAttrs.configureFlags ++ [ "--with-slrnpull" ];
+    configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
   });
 
-  ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json);
+  mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
 
   nixos = import ./nixos_tools.nix {};
 
-  pass = nixpkgs.pass.overrideAttrs (oldAttrs:
+  mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
     fetchedGit ./fetched/pass.json // {
-      patches = oldAttrs.patches ++ [ ./patches/pass-fix-pass-init.patch ];
+      patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
     }
   );
 
-  profanity = (nixpkgs.profanity.override {
+  mypkgs.profanity = (profanity.override {
     notifySupport = true;
     inherit libnotify gpgme gdk_pixbuf;
     python = python3;
-  }).overrideAttrs (oldAttrs: rec {
-    configureFlags = oldAttrs.configureFlags ++ [ "--enable-plugins" ];
+  }).overrideAttrs (old: rec {
+    configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
   });
 
-  weechat = nixpkgs.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 = callPackage <nixpkgs/pkgs/development/perl-modules/generic> { };
-  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"];
-    buildInputs = [ 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.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.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 {};
 
-  terminal_velocity = with python2Packages; buildPythonApplication rec {
-    pname = "terminal-velocity-git";
-    version = "0.2.0";
+  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 ];
+  });
 
-    patches = [
-      # FIXME: update this patch when version changes
-      ./patches/terminal_velocity_fix_build.patch
-      ./patches/terminal_velocity_sort_found_notes.patch
-    ];
+  mypkgs.elinks = elinks.overrideAttrs (old:
+    fetchedGithub ./fetched/elinks.json // rec {
+      preConfigure = ''sh autogen.sh'';
+      buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
+      configureFlags = [
+        "--disable-smb" "--without-x" "--enable-cgi"
+        "--enable-leds" "--enable-256-colors"
+        "--enable-html-highlight" "--with-zlib"
+        ];
+      patches = [];
+    }
+  );
 
-    propagatedBuildInputs = [ chardet urwid sh pyyaml ];
-    buildInputs = [ m2r restructuredtext_lint pygments ];
+  mypkgs.neomutt = neomutt.overrideAttrs (old:
+    rec {
+      buildInputs = old.buildInputs ++ [ gdbm ];
+      configureFlags = old.configureFlags ++ [ "--gdbm" ];
+    }
+  );
 
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
+  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 ];
+  });
+
+  mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
+
+
+  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.lesspipe = lesspipe.overrideAttrs(old: {
+    configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
+  });
+
+
+  mypkgs.dwm = dwm.overrideAttrs(old: rec {
+    postPatch = ''
+      cp ${./patches/dwm_config.h} ./config.h
+      '';
+  });
+
+  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
-  {
+  mypkgs // {
     inherit nix-prefetch-scripts;
-    inherit ledger;
-    inherit taskwarrior vit timewarrior;
-    inherit weboob;
-    inherit slrn;
-    inherit sc-im;
-    inherit ldapvi;
+    inherit nix-generate-from-cpan;
+    inherit timewarrior;
     inherit pal;
-    inherit duplicity duply;
     inherit pdftk;
     inherit googler;
     inherit jrnl;
-    inherit apg;
+    inherit apg pwgen;
     inherit newsboat;
     inherit vcsh;
     inherit xmr-stak;
     inherit urlwatch;
-    inherit pass;
     inherit ranger;
-    inherit profanity;
-    inherit weechat;
-    inherit note terminal_velocity;
+    inherit irssi;
+    inherit abook khard khal;
+    inherit graphicsmagick;
+    inherit youtube-dl;
+    inherit ncmpc ncmpcpp;
+    inherit cadaver;
+    inherit mairix notmuch;
+    inherit ctags;
+    inherit s3cmd;
+    inherit solc; # solidity
+    inherit rtorrent;
+    inherit strace;
+    inherit vdirsyncer;
+    inherit w3m lynx links;
+    inherit gitRepo;
+    inherit valgrind;
+    inherit iotop iperf;
+    inherit keybase;
+    inherit bogofilter;
+    inherit mtr;
+    inherit urlview;
+    inherit rr;
+    inherit nix-zsh-completions;
+    inherit browsh;
+    inherit monero;
+    inherit nextcloud-client;
+    inherit feh imagemagick;
+    inherit lftp;
+    stgit = gitAndTools.stgit;
+    inherit bundix;
+    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;
   }