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> { |