]> 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 1844121f457f5b118c141e111c305e72f983b17b..ae3b2b76bedaade975f60b7e8e961af533b3846b 100644 (file)
@@ -1,23 +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;
-    };
+  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/"
@@ -27,36 +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" ];
+  });
+
+  mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
+
+  nixos = import ./nixos_tools.nix {};
+
+  mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
+    fetchedGit ./fetched/pass.json // {
+      patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
+    }
+  );
+
+  mypkgs.profanity = (profanity.override {
+    notifySupport = true;
+    inherit libnotify gpgme gdk_pixbuf;
+    python = python3;
+  }).overrideAttrs (old: rec {
+    configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
+  });
+
+  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
+        ];
+    };
+  };
+
+  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 {};
+
+  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 ];
+  });
+
+  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 = [];
+    }
+  );
+
+  mypkgs.neomutt = neomutt.overrideAttrs (old:
+    rec {
+      buildInputs = old.buildInputs ++ [ gdbm ];
+      configureFlags = old.configureFlags ++ [ "--gdbm" ];
+    }
+  );
+
+  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 ];
   });
 
-  #weechat = callPackage nixpkgs.weechat { guileSupport = false; luaSupport = false; rubySupport = false; tclSupport = false; };
+  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 nix-generate-from-cpan;
+    inherit timewarrior;
+    inherit pal;
+    inherit pdftk;
+    inherit googler;
+    inherit jrnl;
+    inherit apg pwgen;
+    inherit newsboat;
+    inherit vcsh;
+    inherit xmr-stak;
+    inherit urlwatch;
+    inherit ranger;
+    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 taskwarrior vit;
-    inherit weboob;
-    inherit slrn;
-    inherit sc-im;
+    inherit ffmpeg libxslt;
   }