diff options
| author | tv <tv@krebsco.de> | 2015-11-09 19:49:18 +0100 | 
|---|---|---|
| committer | tv <tv@krebsco.de> | 2015-11-09 19:49:18 +0100 | 
| commit | 6e6f5e7379ff02de1be2a7d3546338e70180f789 (patch) | |
| tree | dd7e3f38bbff05816d9065a3466580f7f84aebb3 | |
| parent | 6f325f7de9c9fd6bb917090c2763b67e37eb26f3 (diff) | |
stockholm: overhaul lib generation
| -rw-r--r-- | default.nix | 38 | 
1 files changed, 16 insertions, 22 deletions
| diff --git a/default.nix b/default.nix index d62e43a1f..1637aa464 100644 --- a/default.nix +++ b/default.nix @@ -13,42 +13,36 @@ let stockholm = {    krebs = import ./krebs (args // { inherit lib stockholm; }); -  lib = -    let -      lib = import <nixpkgs/lib>; -      klib = import ./krebs/4lib { inherit lib; }; -      ulib = let -        path = ./. + "/${current-user-name}/4lib"; -      in lib.optionalAttrs (klib.dir.has-default-nix path) -                           (import path { lib = lib // klib; }); -    in -    builtins // lib // klib // ulib // rec { -      # TODO move this stuff +  lib = let +    nlib = import <nixpkgs/lib>; +    klib = import (slib.kpath "4lib") { lib = nlib; }; +    slib = rec {        stockholm-path = ./.;        nspath = ns: p: stockholm-path + "/${ns}/${p}"; +      kpath = nspath "krebs"; +      upath = nspath current-user-name;      }; +    ulib = let p = slib.upath "4lib"; in +      nlib.optionalAttrs (klib.dir.has-default-nix p) +                         (import p { lib = nlib // klib; }); +  in nlib // klib // slib // ulib // builtins;    inherit (eval {}) pkgs; -  kpath = lib.nspath "krebs"; -  upath = lib.nspath current-user-name; -    base-module = { config, ... }: {      imports = builtins.filter lib.dir.has-default-nix (lib.concatLists [ -      (map (f: f "2configs") [ upath ]) -      (map (f: f "3modules") [ kpath upath ]) +      (map (f: f "2configs") [ lib.upath ]) +      (map (f: f "3modules") [ lib.kpath lib.upath ])      ]);      krebs.current.enable = true;      krebs.current.host = config.krebs.hosts.${current-host-name};      krebs.current.user = config.krebs.users.${current-user-name}; -    nixpkgs.config.packageOverrides = pkgs: -      let -        kpkgs = import (kpath "5pkgs") { inherit lib pkgs; }; -        upkgs = import (upath "5pkgs") { inherit lib; pkgs = pkgs // kpkgs; }; -      in -      kpkgs // upkgs; +    nixpkgs.config.packageOverrides = pkgs: let +      kpkgs = import (lib.kpath "5pkgs") { inherit lib pkgs; }; +      upkgs = import (lib.upath "5pkgs") { inherit lib; pkgs = pkgs // kpkgs; }; +    in kpkgs // upkgs;    };    eval = config: import <nixpkgs/nixos/lib/eval-config.nix> { | 
