From be5f4833fe1dc3ec4acb24eeb5a6670c2aaef2e0 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 12 Oct 2021 22:08:07 +0200 Subject: pkgs: import relative stockholm lib only once New overlay code in inspired by . --- krebs/5pkgs/default.nix | 30 ++++++++++++++++++------------ krebs/5pkgs/simple/default.nix | 5 ++--- krebs/default.nix | 2 +- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index f302bb76b..f9ed6439c 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -1,17 +1,23 @@ -with import ../../lib; +let + stockholm.lib = import ../../lib; +in +with stockholm.lib; self: super: - -# Import files and subdirectories like they are overlays. -foldl' mergeAttrs {} +fix (foldl' (flip extends) (self: super) ( + [ + (self: super: { inherit stockholm; }) + ] + ++ (map - (name: import (./. + "/${name}") self super) + (name: import (./. + "/${name}")) (filter (name: name != "default.nix" && !hasPrefix "." name) (attrNames (readDir ./.)))) - -// - -{ - brockman = self.haskellPackages.brockman; - reaktor2 = self.haskellPackages.reaktor2; -} + ++ + [ + (self: super: { + brockman = self.haskellPackages.brockman; + reaktor2 = self.haskellPackages.reaktor2; + }) + ] +)) diff --git a/krebs/5pkgs/simple/default.nix b/krebs/5pkgs/simple/default.nix index 10458001e..76ad6ff10 100644 --- a/krebs/5pkgs/simple/default.nix +++ b/krebs/5pkgs/simple/default.nix @@ -2,7 +2,7 @@ self: super: let # This callPackage will try to detect obsolete overrides. - lib = import ../../../lib; + lib = super.stockholm.lib; callPackage = path: args: let override = self.callPackage path args; upstream = lib.optionalAttrs (override ? "name") @@ -13,5 +13,4 @@ let then lib.trace "Upstream `${upstream.name}' gets overridden by `${override.name}'." override else override; in - { stockholm.lib = lib; } // - lib.mapNixDir (path: callPackage path {}) ./. + lib.mapNixDir (path: callPackage path {}) ./. diff --git a/krebs/default.nix b/krebs/default.nix index 7ec791529..577cc269e 100644 --- a/krebs/default.nix +++ b/krebs/default.nix @@ -6,8 +6,8 @@ nixpkgs = { overlays = [ - (import ./5pkgs) (import ../submodules/nix-writers/pkgs) + (import ./5pkgs) ]; }; -- cgit v1.2.3