From 31ed92f65f4e117718dc5a963920fdf5f489a24f Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 27 Nov 2015 14:49:54 +0100 Subject: Fix system-path with multiout --- nixos/modules/config/system-path.nix | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'nixos/modules/config/system-path.nix') diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index da558a25d99..6b4cc9ebb7d 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -75,7 +75,7 @@ in outputsToLink = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "doc" ]; description = "List of package outputs to be symlinked into /run/current-system/sw."; }; @@ -120,18 +120,16 @@ in "/share/vim-plugins" ]; + environment.outputsToLink = [ "bin" "lib" "out" ]; + system.path = pkgs.buildEnv { name = "system-path"; - paths = let - inherit (config.environment) pathsToLink outputsToLink; - #outputs TODO: some code already merged by Eelco? make it user-customizable? - pkgOutputFun = pkg: lib.filter (p: p!=null) [ - (pkg.bin or (pkg.out or pkg)) - (pkg.man or null) - (pkg.info or null) - (pkg.doc or null) - ]; - in lib.concatMap pkgOutputFun config.environment.systemPackages; + paths = + lib.filter (drv: drv != null && drv != (drv.dev or null)) + (lib.concatMap (drv: + [ drv ] ++ map (outputName: drv.${outputName}.outPath or null) config.environment.outputsToLink) + config.environment.systemPackages); + inherit (config.environment) pathsToLink; ignoreCollisions = true; # !!! Hacky, should modularise. postBuild = -- cgit 1.4.1