about summary refs log tree commit diff
path: root/overrides/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'overrides/default.nix')
-rw-r--r--overrides/default.nix88
1 files changed, 47 insertions, 41 deletions
diff --git a/overrides/default.nix b/overrides/default.nix
index c398babe..5687547e 100644
--- a/overrides/default.nix
+++ b/overrides/default.nix
@@ -1,59 +1,71 @@
 pkgs:
 
-with {
-  tkabberRev = 2009;
-};
-with pkgs;
+with pkgs.lib;
 
 let
-  callPackage = lib.callPackageWith (pkgs // self);
-  self = rec {
-    pulseaudio = pkgs.pulseaudio.override {
-      useSystemd = true;
-    };
+  allPackages = newPackages // misc;
+  everything = pkgs // allPackages // drvOverrides // argOverrides;
 
-    kernelSourceAszlig = {
-      version = "3.8.0-rc3";
-      src = pkgs.fetchgit {
-        url = /home/aszlig/linux;
-        rev = "ecf02a607bd801e742d7bb35c6e40f7ca15edf03";
-        sha256 = "19ad666ms61s55730sh2n2lp9dsn439lnr7cypdma978mx27aj7v";
-      };
-    };
+  callPackage = callPackageWith everything;
 
-    blop = callPackage ./blop { };
+  mapOverride = overrideFun: includePackages: let
+    packages = pkgs // allPackages // includePackages;
+    overrideName = name: overrideFun (getAttr name packages);
+  in mapAttrs overrideName;
 
-    libCMT = callPackage ./libcmt { };
+  # input attrset overrides using pkg.override
+  argOverrides = mapOverride (getAttr "override") drvOverrides {
+    netrw.checksumType = "mhash";
+    pulseaudio.useSystemd = true;
+    w3m.graphicsSupport = true;
+  };
 
-    tkabber = lib.overrideDerivation pkgs.tkabber (o: {
+  # derivation overrides
+  drvOverrides = let
+    tkabberRev = 2009;
+  in mapOverride overrideDerivation argOverrides {
+    tkabber = o: {
       name = "tkabber-1.0pre";
-      src = fetchsvn {
+      src = everything.fetchsvn {
         url = "http://svn.xmpp.ru/repos/tkabber/trunk/tkabber";
         rev = tkabberRev;
         sha256 = "0lfh3bapqsfw142bndp11x7cs9crrcccw242lgwlh103r9gs123s";
       };
-    });
+    };
 
-    tkabber_plugins = lib.overrideDerivation pkgs.tkabber_plugins (o: {
+    tkabber_plugins = o: {
       name = "tkabber-plugins-1.0pre";
-      src = fetchsvn {
+      src = everything.fetchsvn {
         url = "http://svn.xmpp.ru/repos/tkabber/trunk/tkabber-plugins";
         rev = tkabberRev;
         sha256 = "181jxd7iwpcl7wllwciqshzznahdw69fy7r604gj4m2kq6qmynqf";
       };
-    });
-
-    w3m = pkgs.w3m.override {
-      graphicsSupport = true;
     };
+  };
 
-    netrw = pkgs.netrw.override {
-      checksumType = "mhash";
+  # new packages
+  newPackages = {
+    axbo = callPackage ./axbo { };
+    blop = callPackage ./blop { };
+    libCMT = callPackage ./libcmt { };
+    librxtx_java = callPackage ./librxtx-java { };
+    pvolctrl = callPackage ./pvolctrl { };
+  };
+
+  # misc
+  misc = {
+    kernelSourceAszlig = {
+      version = "3.8.0-rc3";
+      src = everything.fetchgit {
+        url = /home/aszlig/linux;
+        rev = "ecf02a607bd801e742d7bb35c6e40f7ca15edf03";
+        sha256 = "19ad666ms61s55730sh2n2lp9dsn439lnr7cypdma978mx27aj7v";
+      };
     };
 
     testChromiumBuild = let
       buildChannels = [ "stable" "beta" "dev" ];
-      buildChromium = chan: chromium.override {
+      buildChromium = chan: everything.chromium.override {
         channel = chan;
         gnomeSupport = true;
         gnomeKeyringSupport = true;
@@ -61,24 +73,18 @@ let
         cupsSupport = true;
         pulseSupport = true;
       };
-    in stdenv.mkDerivation {
+    in everything.stdenv.mkDerivation {
       name = "test-chromium-build";
 
       buildCommand = let
-        chanResults = lib.flip map buildChannels (chan: ''
+        chanResults = flip map buildChannels (chan: ''
           echo "Build result for ${chan}: ${buildChromium chan}"
         '');
       in ''
         echo "Builds finished, the following derivations have been built:"
-        ${lib.concatStrings chanResults}
+        ${concatStrings chanResults}
         false
       '';
     };
-
-    pvolctrl = callPackage ./pvolctrl { };
-
-    librxtx_java = callPackage ./librxtx-java { };
-
-    axbo = callPackage ./axbo { };
   };
-in self
+in allPackages // drvOverrides // argOverrides