symlinkJoin: accept set as an argument with additional options

+23 -8
+4 -1
nixos/modules/services/logging/logcheck.nix
··· 11 rm $out/logcheck.* 12 ''; 13 14 - rulesDir = pkgs.symlinkJoin "logcheck-rules-dir" ([ defaultRules ] ++ cfg.extraRulesDirs); 15 16 configFile = pkgs.writeText "logcheck.conf" cfg.config; 17
··· 11 rm $out/logcheck.* 12 ''; 13 14 + rulesDir = pkgs.symlinkJoin 15 + { name = "logcheck-rules-dir"; 16 + paths = ([ defaultRules ] ++ cfg.extraRulesDirs); 17 + }; 18 19 configFile = pkgs.writeText "logcheck.conf" cfg.config; 20
+4 -2
nixos/modules/services/mail/dovecot.nix
··· 63 cfg.extraConfig 64 ]; 65 66 - modulesDir = pkgs.symlinkJoin "dovecot-modules" 67 - (map (pkg: "${pkg}/lib/dovecot") ([ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules)); 68 69 in 70 {
··· 63 cfg.extraConfig 64 ]; 65 66 + modulesDir = pkgs.symlinkJoin { 67 + name = "dovecot-modules"; 68 + paths = map (pkg: "${pkg}/lib/dovecot") ([ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules); 69 + }; 70 71 in 72 {
+11 -3
pkgs/build-support/trivial-builders.nix
··· 47 48 49 # Create a forest of symlinks to the files in `paths'. 50 - symlinkJoin = name: paths: 51 runCommand name 52 - { inherit paths; 53 - preferLocalBuild = true; allowSubstitutes = false; 54 } 55 '' 56 mkdir -p $out 57 for i in $paths; do 58 ${lndir}/bin/lndir $i $out 59 done 60 ''; 61 62
··· 47 48 49 # Create a forest of symlinks to the files in `paths'. 50 + symlinkJoin = 51 + { name 52 + , paths 53 + , preferLocalBuild ? true 54 + , allowSubstitutes ? false 55 + , postBuild ? "" 56 + , buildInputs ? [] 57 + , meta ? {} 58 + }: 59 runCommand name 60 + { inherit paths preferLocalBuild allowSubstitutes buildInputs meta; 61 } 62 '' 63 mkdir -p $out 64 for i in $paths; do 65 ${lndir}/bin/lndir $i $out 66 done 67 + ${postBuild} 68 ''; 69 70
+4 -2
pkgs/desktops/kde-5/plasma-5.5/default.nix
··· 51 let 52 version = (builtins.parseDrvName breeze-qt5.name).version; 53 in 54 - symlinkJoin "breeze-${version}" 55 - (map (pkg: pkg.out or pkg) [ breeze-gtk breeze-qt4 breeze-qt5 ]); 56 kde-cli-tools = callPackage ./kde-cli-tools.nix {}; 57 kde-gtk-config = callPackage ./kde-gtk-config {}; 58 kdecoration = callPackage ./kdecoration.nix {};
··· 51 let 52 version = (builtins.parseDrvName breeze-qt5.name).version; 53 in 54 + symlinkJoin { 55 + name = "breeze-${version}"; 56 + paths = map (pkg: pkg.out or pkg) [ breeze-gtk breeze-qt4 breeze-qt5 ]; 57 + }; 58 kde-cli-tools = callPackage ./kde-cli-tools.nix {}; 59 kde-gtk-config = callPackage ./kde-gtk-config {}; 60 kdecoration = callPackage ./kdecoration.nix {};