summary refs log tree commit diff
path: root/pkgs/development/interpreters/ruby/libs.nix
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2011-05-08 09:35:31 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2011-05-08 09:35:31 +0000
commitbfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1 (patch)
treed96ee894a9a4f12f8e2f4f28c2ed529630a7d4f3 /pkgs/development/interpreters/ruby/libs.nix
parent69822bf6c1732616b745ef891065a915ae46d67d (diff)
downloadnixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.tar
nixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.tar.gz
nixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.tar.bz2
nixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.tar.lz
nixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.tar.xz
nixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.tar.zst
nixlib-bfffc57cc61e1fb2a5ae06ae75d30b9fb387a6f1.zip
rubygems: bump nix-ruby, more nix magic
svn path=/nixpkgs/trunk/; revision=27179
Diffstat (limited to 'pkgs/development/interpreters/ruby/libs.nix')
-rw-r--r--pkgs/development/interpreters/ruby/libs.nix22
1 files changed, 17 insertions, 5 deletions
diff --git a/pkgs/development/interpreters/ruby/libs.nix b/pkgs/development/interpreters/ruby/libs.nix
index d0b6401abc29..9aa9203f10f6 100644
--- a/pkgs/development/interpreters/ruby/libs.nix
+++ b/pkgs/development/interpreters/ruby/libs.nix
@@ -26,8 +26,20 @@ in
   generated = import ./generated.nix;
   patches = import ./patches.nix;
   overrides = import ./overrides.nix;
-}).merge {
-  generated = getConfig [ "gems" "generated" ] null;
-  patches = getConfig [ "gems" "patches" ] null;
-  overrides = getConfig [ "gems" "overrides" ] null;
-}
+}).merge (
+  let
+    localGemDir = (builtins.getEnv "HOME") + "/.nixpkgs/gems/";
+    getLocalGemFun = name:
+      let
+        file = localGemDir + name + ".nix";
+        fallback =
+          if builtins.pathExists file then import (builtins.toPath file)
+          else null;
+      in
+      getConfig [ "gems" name ] fallback;
+  in
+{
+  generated = getLocalGemFun "generated";
+  patches = getLocalGemFun "patches";
+  overrides = getLocalGemFun "overrides";
+})