]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - default.nix
Use overlays for package overrides
[perso/Immae/Config/Nix.git] / default.nix
index ae3b2b76bedaade975f60b7e8e961af533b3846b..1bac63e08df807b70927dca0a71aaf97044ef8e2 100644 (file)
-with import <nixpkgs> {};
-with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
-let
-  mypkgs = {};
-
-  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/"
-      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
-      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
-      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
-    '';
-  });
-
-  mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
-    fetchedGithub ./fetched/vit.json // {
-      buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
-    }
-  );
-
-  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 {
-    version = "1.0.3a";
-    name = "slrn-${version}";
-    src = fetchurl {
-      url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
-      sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
+with import <nixpkgs> { overlays = builtins.attrValues (import ./overlays); };
+with mylibs;
+  # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
+  # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
+  {
+    boinctui = callPackage ./pkgs/boinctui {};
+    cnagios = callPackage ./pkgs/cnagios { inherit fetchedGithub; };
+    duply = callPackage ./pkgs/duply {};
+    flrn = callPackage ./pkgs/flrn {
+      slang = callPackage ./pkgs/slang_1 {};
+      inherit fetchedGithub;
     };
-    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
-        ];
+    genius = callPackage ./pkgs/genius {};
+    mtop = callPackage ./pkgs/mtop {};
+    muttprint = callPackage ./pkgs/muttprint {};
+    mutt-ics = callPackage ./pkgs/mutt-ics { inherit fetchedGithub; };
+    nagios-cli = callPackage ./pkgs/nagios-cli { inherit fetchedGithub; };
+    #nagnu = callPackage ./pkgs/nagnu { inherit fetchedGithub; };
+    note = callPackage ./pkgs/note {};
+    notmuch-python2 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; };
+    notmuch-python3 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; };
+    notmuch-vim = callPackage ./pkgs/notmuch/notmuch-vim {};
+    pg_activity = callPackage ./pkgs/pg_activity { inherit fetchedGithub; };
+    pgloader = callPackage ./pkgs/pgloader { inherit fetchedGithub; };
+    telegram-cli = callPackage ./pkgs/telegram-cli { inherit fetchedGithub; };
+    telegram-history-dump = callPackage ./pkgs/telegram-history-dump { inherit fetchedGithub; };
+    telegramircd = callPackage ./pkgs/telegramircd {
+      telethon = callPackage ./pkgs/telethon_sync {};
+      inherit fetchedGithub;
     };
-  };
-
-  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 ];
-  });
-
-  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 // {
+    terminal-velocity = callPackage ./pkgs/terminal-velocity {};
+    tiv = callPackage ./pkgs/tiv {};
+    unicode = callPackage ./pkgs/unicode {};
+
+    cardano = callPackage ./pkgs/crypto/cardano { inherit fetchedGithub; };
+    iota-cli-app = callPackage ./pkgs/crypto/iota-cli-app { inherit fetchedGithub; };
+    sia = callPackage ./pkgs/crypto/sia {};
+  } // { # overlays
+    inherit weboob;
+    inherit taskwarrior;
+    inherit slrn;
+    inherit sc-im;
+    inherit lesspipe;
+    inherit neomutt;
+    inherit weechat;
+    inherit goaccess;
+    inherit profanity;
+    inherit nixops;
+    inherit dwm;
+    inherit vit;
+    inherit pass;
+    inherit elinks;
+    inherit pelican;
+    inherit ldapvi;
+    inherit (mylibs.yarn2nixPackage) yarn2nix;
+  } // {
     inherit nix-prefetch-scripts;
     inherit nix-generate-from-cpan;
     inherit timewarrior;
@@ -222,7 +103,6 @@ in
     inherit lzo unzip bzip2 p7zip xz;
     # unrar is unfree
     inherit tig;
-    #inherit nixos;
     inherit emacs26-nox;
     inherit highlight sourceHighlight;
     pygmentize = python3Packages.pygments;