diff options
author | tv <tv@shackspace.de> | 2015-10-17 05:44:42 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-10-17 05:47:55 +0200 |
commit | 15c6f0678fad4bb7541338e4f422e8a913d616f9 (patch) | |
tree | 54960632534d6f01512b1fd924af37d0ab072fda /default.nix | |
parent | 170dddabfbeb4122cca71a639b1e11d70bc6e628 (diff) |
explicate stockholm configuration
Diffstat (limited to 'default.nix')
-rw-r--r-- | default.nix | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/default.nix b/default.nix index f14329d40..0900ca7b2 100644 --- a/default.nix +++ b/default.nix @@ -6,26 +6,23 @@ let lib = import <nixpkgs/lib>; - krebs-modules-path = ./krebs/3modules; - krebs-pkgs-path = ./krebs/5pkgs; - user-modules-path = ./. + "/${current-user-name}/3modules"; - user-pkgs-path = ./. + "/${current-user-name}/5pkgs"; + nspath = ns: p: ./. + "/${ns}/${p}"; + kpath = nspath "krebs"; + upath = nspath current-user-name; - # XXX This is only used interactively, e.g. using get. - pkgs = - let - pkgs = import <nixpkgs> {}; - args = { - inherit pkgs; - lib = pkgs.lib; - }; - in - pkgs // - import krebs-pkgs-path args // - import user-pkgs-path args; + stockholm = { + imports = map (f: f "3modules") [ kpath upath ]; + + nixpkgs.config.packageOverrides = pkgs: + let + kpkgs = import (kpath "5pkgs") { inherit pkgs; }; + upkgs = import (upath "5pkgs") { pkgs = pkgs // kpkgs; }; + in + kpkgs // upkgs; + }; out = - { inherit pkgs; } // + { inherit (eval {}) pkgs; } // lib.mapAttrs (_: builtins.getAttr "main") (lib.filterAttrs (_: builtins.hasAttr "main") (lib.mapAttrs @@ -43,15 +40,8 @@ let eval = path: import <nixpkgs/nixos/lib/eval-config.nix> { system = builtins.currentSystem; modules = [ + stockholm path - krebs-modules-path - user-modules-path - ] ++ [ - ({ config, lib, pkgs, ... }@args: { - _module.args.pkgs = - (import krebs-pkgs-path args) // - (import user-pkgs-path args); - }) ]; }; |