summary refs log tree commit diff
path: root/nixos/modules/config/system-path.nix
diff options
context:
space:
mode:
authorLuca Bruno <lethalman88@gmail.com>2015-11-27 14:49:54 +0100
committerLuca Bruno <lethalman88@gmail.com>2015-12-01 15:09:41 +0100
commit31ed92f65f4e117718dc5a963920fdf5f489a24f (patch)
treea12dcb17ff86e10cc5aabc95c787c947a852e760 /nixos/modules/config/system-path.nix
parent920b1d3591431837f4522ccff52fb65b241200cf (diff)
downloadnixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.tar
nixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.tar.gz
nixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.tar.bz2
nixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.tar.lz
nixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.tar.xz
nixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.tar.zst
nixpkgs-31ed92f65f4e117718dc5a963920fdf5f489a24f.zip
Fix system-path with multiout
Diffstat (limited to 'nixos/modules/config/system-path.nix')
-rw-r--r--nixos/modules/config/system-path.nix20
1 files changed, 9 insertions, 11 deletions
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 <filename>/run/current-system/sw</filename>.";
       };
@@ -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 =