summary refs log tree commit diff
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2016-08-23 01:06:51 +0300
committerTuomas Tynkkynen <tuomas@tuxera.com>2016-08-23 01:18:10 +0300
commit74a3a2cd7e409062ad3efa61e84d366a8f67c853 (patch)
tree3c12e08e51c0d1a2ec942ca02cb9cdbcc407b35d
parentc2553952195cb390c9ae65e2a31ad02cc82d0f76 (diff)
downloadnixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.tar
nixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.tar.gz
nixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.tar.bz2
nixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.tar.lz
nixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.tar.xz
nixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.tar.zst
nixpkgs-74a3a2cd7e409062ad3efa61e84d366a8f67c853.zip
treewide: Use makeBinPath
-rw-r--r--nixos/modules/services/misc/gitlab.nix2
-rw-r--r--nixos/modules/virtualisation/brightbox-image.nix2
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix2
-rw-r--r--nixos/tests/virtualbox.nix2
-rw-r--r--pkgs/applications/audio/caudec/default.nix2
-rw-r--r--pkgs/applications/editors/netbeans/default.nix2
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix2
-rw-r--r--pkgs/applications/graphics/processing/default.nix4
-rw-r--r--pkgs/applications/misc/audio/wavesurfer/default.nix2
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix2
-rw-r--r--pkgs/applications/misc/ding/default.nix2
-rw-r--r--pkgs/applications/misc/get_iplayer/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/pig/default.nix2
-rw-r--r--pkgs/applications/networking/esniper/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix2
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix2
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix2
-rw-r--r--pkgs/applications/office/gnucash/default.nix2
-rw-r--r--pkgs/applications/video/mkcast/default.nix2
-rw-r--r--pkgs/applications/virtualization/docker/gc.nix2
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix2
-rw-r--r--pkgs/build-support/vm/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.10.2.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.0.1.nix2
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
-rw-r--r--pkgs/development/compilers/microscheme/default.nix2
-rw-r--r--pkgs/development/compilers/squeak/default.nix2
-rw-r--r--pkgs/development/interpreters/elixir/default.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R19.nix2
-rw-r--r--pkgs/development/interpreters/lfe/default.nix2
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/builder.sh2
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/cide/default.nix2
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix2
-rw-r--r--pkgs/development/tools/misc/autobuild/default.nix2
-rw-r--r--pkgs/development/tools/misc/drush/default.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/default.nix2
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix2
-rw-r--r--pkgs/servers/elasticmq/default.nix2
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix4
-rw-r--r--pkgs/tools/backup/btrbk/default.nix2
-rw-r--r--pkgs/tools/backup/duplicity/default.nix2
-rw-r--r--pkgs/tools/backup/store-backup/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix2
-rw-r--r--pkgs/tools/graphics/pdfread/default.nix2
-rw-r--r--pkgs/tools/misc/gparted/default.nix2
-rw-r--r--pkgs/tools/misc/plowshare/default.nix2
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix2
-rw-r--r--pkgs/tools/networking/openvpn/openvpn_learnaddress.nix2
-rw-r--r--pkgs/tools/networking/snabb/default.nix4
-rw-r--r--pkgs/tools/security/prey/default.nix2
-rw-r--r--pkgs/tools/typesetting/djvu2pdf/default.nix2
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix2
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix2
65 files changed, 71 insertions, 71 deletions
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 33163d9789b..39283d2d943 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -121,7 +121,7 @@ let
       makeWrapper ${cfg.packages.gitlab.env}/bin/bundle $out/bin/gitlab-bundle \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
           --set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
-          --set PATH '${pkgs.nodejs}/bin:${pkgs.gzip}/bin:${config.services.postgresql.package}/bin:$PATH' \
+          --set PATH '${stdenv.lib.makeBinPath [ pkgs.nodejs pkgs.gzip config.services.postgresql.package ]}:$PATH' \
           --set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
       makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
diff --git a/nixos/modules/virtualisation/brightbox-image.nix b/nixos/modules/virtualisation/brightbox-image.nix
index 456a19fc251..760a7100c6e 100644
--- a/nixos/modules/virtualisation/brightbox-image.nix
+++ b/nixos/modules/virtualisation/brightbox-image.nix
@@ -20,7 +20,7 @@ in
 
           postVM =
             ''
-              PATH=$PATH:${pkgs.gnutar}/bin:${pkgs.gzip}/bin
+              PATH=$PATH:${stdenv.lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
               pushd $out
               ${pkgs.qemu_kvm}/bin/qemu-img convert -c -O qcow2 $diskImageBase nixos.qcow2
               rm $diskImageBase
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 2b522dbe266..59b77dde5d9 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -23,7 +23,7 @@ in
 
           postVM =
             ''
-              PATH=$PATH:${pkgs.gnutar}/bin:${pkgs.gzip}/bin
+              PATH=$PATH:${stdenv.lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
               pushd $out
               mv $diskImageBase disk.raw
               tar -Szcf $diskImageBase.tar.gz disk.raw
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index e9bc14a6cdb..cf08c2e061b 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -9,7 +9,7 @@ let
 
     miniInit = ''
       #!${pkgs.stdenv.shell} -xe
-      export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
+      export PATH="${stdenv.lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}"
 
       mkdir -p /var/run/dbus
       cat > /etc/passwd <<EOF
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
index d84ff702ce8..3488d8fb38f 100644
--- a/pkgs/applications/audio/caudec/default.nix
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     for executable in $(cd $out/bin && ls); do
 	wrapProgram $out/bin/$executable \
-	  --prefix PATH : "${bc}/bin:${findutils}/bin:${sox}/bin:${procps}/bin:${opusTools}/bin:${lame}/bin:${flac.bin}/bin"
+	  --prefix PATH : "${stdenv.lib.makeBinPath [ bc findutils sox procps opusTools lame flac ]}"
     done
   '';
 
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index 363da0d3826..289de0ad91a 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cp -a netbeans $out
     makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \
-      --prefix PATH : ${jdk}/bin:${which}/bin \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ jdk which ]} \
       --prefix JAVA_HOME : ${jdk.home} \
       --add-flags "--jdkhome ${jdk.home}"
       
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 04119f3f1c6..952d23bbc48 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     # Allow geeqie to find exiv2 and exiftran, necessary to
     # losslessly rotate JPEG images.
     sed -i $out/lib/geeqie/geeqie-rotate \
-        -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
+        -e '1 a export PATH=${stdenv.lib.makeBinPath [ exiv2 fbida ]}:$PATH'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 69e5ccb85ec..a66e9163142 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
    cp -r linux/work/* $out/${name}/
    makeWrapper $out/${name}/processing $out/bin/processing \
-     --prefix PATH : "${jdk}/bin:${which}/bin" \
+     --prefix PATH : "${stdenv.lib.makeBinPath [ jdk which ]}" \
      --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
    makeWrapper $out/${name}/processing-java $out/bin/processing-java \
-     --prefix PATH : "${jdk}/bin:${which}/bin" \
+     --prefix PATH : "${stdenv.lib.makeBinPath [ jdk which ]}" \
      --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
    ln -s ${jdk} $out/${name}/java
   '';
diff --git a/pkgs/applications/misc/audio/wavesurfer/default.nix b/pkgs/applications/misc/audio/wavesurfer/default.nix
index caaa5133c75..e5e09bf71fd 100644
--- a/pkgs/applications/misc/audio/wavesurfer/default.nix
+++ b/pkgs/applications/misc/audio/wavesurfer/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     ln -s $out/{nix-support,bin}/wavesurfer.tcl
     wrapProgram "$out/nix-support/wavesurfer.tcl"  \
                  --set TCLLIBPATH "${snack}/lib" \
-                 --prefix PATH : "${tcl}/bin:${tk}/bin"
+                 --prefix PATH : "${stdenv.lib.makeBinPath [ tcl tk ]}"
   '';
 
   meta = { 
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index 1ac74712ff0..0df0a564731 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [gtk mono]}"
     # We need PATH from user env for xdg-open to find its tools, which
     # typically depend on the currently running desktop environment.
-    export PATH="${avrgcclibc}/bin:${avrdude}/bin:${xdg_utils}/bin:\$PATH"
+    export PATH="${stdenv.lib.makeBinPath [ avrgcclibc avrdude xdg_utils ]}:\$PATH"
 
     # avrdudess must have its resource files in its current working directory
     cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@"
diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix
index 46634e2698c..38cd9dbcc37 100644
--- a/pkgs/applications/misc/ding/default.nix
+++ b/pkgs/applications/misc/ding/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     cp ding.png $out/share/pixmaps/
     cp ding.desktop $out/share/applications/
 
-    wrapProgram $out/bin/ding --prefix PATH : ${gnugrep}/bin:${aspellEnv}/bin:${tk}/bin:${fortune}/bin --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
+    wrapProgram $out/bin/ding --prefix PATH : ${stdenv.lib.makeBinPath [ gnugrep aspellEnv tk fortune ]} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix
index e5a463bb520..069d07bd82a 100644
--- a/pkgs/applications/misc/get_iplayer/default.nix
+++ b/pkgs/applications/misc/get_iplayer/default.nix
@@ -18,7 +18,7 @@ buildPerlPackage {
   installPhase = '' 
     mkdir -p $out/bin $out/share/man/man1
     cp get_iplayer $out/bin
-    wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg.bin}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB
+    wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ ffmpeg flvstreamer vlc rtmpdump ]} --prefix PERL5LIB : $PERL5LIB
     cp get_iplayer.1 $out/share/man/man1
   '';
   
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 925fe19d72e..c5cc7ca7431 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     mv * $out
 
     for n in $out/{bin,sbin}"/"*; do
-      wrapProgram $n --prefix PATH : "${which}/bin:${jre}/bin:${bash}/bin" --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "$out"
+      wrapProgram $n --prefix PATH : "${stdenv.lib.makeBinPath [ which jre bash ]}" --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "$out"
     done
   '';
 
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index bc3247c4b3d..75083409ba7 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -38,9 +38,9 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$out/bin/kube-proxy" --prefix PATH : "${iptables}/bin"
-    wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin:${procps-ng}/bin"
+    wrapProgram "$out/bin/kubelet" --prefix PATH : "${stdenv.lib.makeBinPath [ utillinux procps-ng ]}"
     chmod +x "$out/libexec/kubernetes/safe_format_and_mount"
-    wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${e2fsprogs}/bin:${utillinux}/bin"
+    wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${stdenv.lib.makeBinPath [ e2fsprogs utillinux ]}"
     substituteInPlace "$out"/libexec/kubernetes/cluster/update-storage-objects.sh \
       --replace KUBE_OUTPUT_HOSTBIN KUBE_BIN
   '';
diff --git a/pkgs/applications/networking/cluster/pig/default.nix b/pkgs/applications/networking/cluster/pig/default.nix
index a5666fc8f32..c99643beb90 100644
--- a/pkgs/applications/networking/cluster/pig/default.nix
+++ b/pkgs/applications/networking/cluster/pig/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
     for n in $out/{bin,sbin}"/"*; do
       wrapProgram $n \
-        --prefix PATH : "${jre}/bin:${bash}/bin" \
+        --prefix PATH : "${stdenv.lib.makeBinPath [ jre bash ]}" \
         --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "${hadoop}"
     done
   '';
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
index cc66976b3ba..751f6f9855b 100644
--- a/pkgs/applications/networking/esniper/default.nix
+++ b/pkgs/applications/networking/esniper/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   postInstall = ''
     sed <"frontends/snipe" >"$out/bin/snipe" \
-      -e "2i export PATH=\"$out/bin:${coreutils}/bin:${gawk}/bin:${bash}/bin:${which}/bin:\$PATH\""
+      -e "2i export PATH=\"$out/bin:${stdenv.lib.makeBinPath [ coreutils gawk bash which ]}:\$PATH\""
     chmod 555 "$out/bin/snipe"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
index 41a1ea3c3e7..245894147dc 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    wrapArgs = "--prefix PATH ':' ${texLive}/bin:${imagemagick.out}/bin";
+    wrapArgs = "--prefix PATH ':' ${stdenv.lib.makeBinPath [ texLive imagemagick ]}";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 4a37c4e8679..be74e079691 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -21,7 +21,7 @@ pythonPackages.buildPythonApplication rec {
 
   postInstall = ''
     wrapProgram $out/bin/mailpile \
-      --prefix PATH ":" "${gnupg1orig}/bin:${openssl.bin}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1orig openssl ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 555667c035c..7f718dfdbe2 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec
     make install
 
     wrapProgram $out/bin/seafile-applet \
-      --suffix PATH : ${ccnet}/bin:${seafile-shared}/bin
+      --suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}
     '';
 
   meta =
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
index 4a997d08d83..5c87218e306 100644
--- a/pkgs/applications/office/gnucash/2.6.nix
+++ b/pkgs/applications/office/gnucash/2.6.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${name}" \
         --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"  \
-        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
+        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
     done
 
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 87e7ce261a1..2a3ff4320e6 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
         --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
         --prefix PERL5LIB ":" "$PERL5LIB"                               \
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
+        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
     done
 
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/applications/video/mkcast/default.nix b/pkgs/applications/video/mkcast/default.nix
index 8c67b667a32..a0605bb7128 100644
--- a/pkgs/applications/video/mkcast/default.nix
+++ b/pkgs/applications/video/mkcast/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for f in $out/bin/*; do #*/
-      wrapProgram $f --prefix PATH : "${xdpyinfo}/bin:${wmctrl}/bin/:${byzanz}/bin/:${gnome3.gnome_terminal}/bin/:$out/bin"
+      wrapProgram $f --prefix PATH : "${stdenv.lib.makeBinPath [ xdpyinfo wmctrl byzanz gnome3.gnome_terminal ]}:$out/bin"
     done
 
     rm -r screenkey/.bzr
diff --git a/pkgs/applications/virtualization/docker/gc.nix b/pkgs/applications/virtualization/docker/gc.nix
index f9fb6311fc3..dcac628e367 100644
--- a/pkgs/applications/virtualization/docker/gc.nix
+++ b/pkgs/applications/virtualization/docker/gc.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     cp docker-gc $out/bin
     chmod +x $out/bin/docker-gc
     wrapProgram $out/bin/docker-gc \
-        --prefix PATH : "${docker}/bin:${coreutils}/bin:${procps}/bin:${gnused}/bin:${findutils}/bin:${gnugrep}/bin"
+        --prefix PATH : "${stdenv.lib.makeBinPath [ docker coreutils procps gnused findutils gnugrep ]}"
   '';
 
   meta = {
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
index 91ee7dedb5d..2ce69a68f32 100644
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     cp $out/share/stumpwm/modules/util/stumpish/stumpish $out/bin/
     chmod +x $out/bin/stumpish
     wrapProgram $out/bin/stumpish \
-      --prefix PATH ":" "${rlwrap}/bin:${gnused}/bin:${gnugrep}/bin:${coreutils}/bin:${xprop}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap gnused gnugrep coreutils xprop ]}"
 
     # Paths in the compressed image $out/bin/stumpwm are not
     # recognized by Nix. Add explicit reference here.
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index fafef169bd5..5b407f530dc 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -587,7 +587,7 @@ rec {
       buildCommand = ''
         ${createRootFS}
 
-        PATH=$PATH:${dpkg}/bin:${dpkg}/bin:${glibc.bin}/bin:${lzma.bin}/bin
+        PATH=$PATH:${stdenv.lib.makeBinPath [ dpkg dpkg glibc lzma ]}
 
         # Unpack the .debs.  We do this to prevent pre-install scripts
         # (which have lots of circular dependencies) from barfing.
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix
index 08cfa6c2363..edb0075fdae 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
         wrapProgram "$prog" \
             --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
             --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-            --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin:${qemu}/bin"
+            --prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}"
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix
index 4f13954d1db..2e96c999b9e 100644
--- a/pkgs/development/compilers/ghc/7.10.2.nix
+++ b/pkgs/development/compilers/ghc/7.10.2.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index b8e9082f061..c059a89bde3 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix
index 9e379f06b21..8341fca9f42 100644
--- a/pkgs/development/compilers/ghc/8.0.1.nix
+++ b/pkgs/development/compilers/ghc/8.0.1.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 79234fd55ab..0f3b57949b7 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/microscheme/default.nix b/pkgs/development/compilers/microscheme/default.nix
index 64d86aaac0d..4fd71b748cc 100644
--- a/pkgs/development/compilers/microscheme/default.nix
+++ b/pkgs/development/compilers/microscheme/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     make install PREFIX=$out
 
     wrapProgram $out/bin/microscheme \
-      --prefix PATH : "${avrdude}/bin:${avrgcclibc}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ avrdude avrgcclibc ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix
index 8aa980b72e6..059a9e7dbe3 100644
--- a/pkgs/development/compilers/squeak/default.nix
+++ b/pkgs/development/compilers/squeak/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     for i in squeak.in squeak.sh.in; do
       substituteInPlace unix/cmake/$i --replace "PATH=" \
-        "PATH=${coreutils}/bin:${gnused}/bin:${which}/bin #"
+        "PATH=${stdenv.lib.makeBinPath [ coreutils gnused which ]} #"
     done
   '';
 
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index fc3070e55f1..1824287c823 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
      b=$(basename $f)
       if [ $b == "mix" ]; then continue; fi
       wrapProgram $f \
-        --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl.bin}/bin:${bash}/bin" \
+        --prefix PATH ":" "${stdenv.lib.makeBinPath [ erlang coreutils curl bash ]}" \
         --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt
     done
 
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index 7323fafaf97..ffc4c27e662 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index cb29341689d..56b4626a212 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index 34896046e31..5d9c5dac3d8 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
index 8eac077a110..1cd68221fa7 100644
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ b/pkgs/development/interpreters/erlang/R19.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/lfe/default.nix b/pkgs/development/interpreters/lfe/default.nix
index f3a54aef8ab..c7957275f9e 100644
--- a/pkgs/development/interpreters/lfe/default.nix
+++ b/pkgs/development/interpreters/lfe/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     # Add some stuff to PATH so the scripts can run without problems.
     for f in $out/bin/*; do
       wrapProgram $f \
-        --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${bash}/bin:$out/bin"
+        --prefix PATH ":" "${stdenv.lib.makeBinPath [ erlang coreutils bash ]}:$out/bin"
       substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env"
     done
   '';
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 5e4c7e54202..9e5eb435080 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
         for i in emulator emulator64-arm emulator64-mips emulator64-x86 emulator64-crash-service
         do
             wrapProgram `pwd`/$i \
-              --prefix PATH : ${file}/bin:${glxinfo}/bin \
+              --prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \
               --suffix LD_LIBRARY_PATH : `pwd`/lib64:`pwd`/lib64/qt/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext mesa alsaLib zlib libpulseaudio ]} \
               --suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb
         done
diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
index f3dd2bf2c93..953113e384b 100644
--- a/pkgs/development/tools/build-managers/leiningen/builder.sh
+++ b/pkgs/development/tools/build-managers/leiningen/builder.sh
@@ -18,6 +18,6 @@ chmod -v 755 $out_bin
 patchShebangs $out
 
 wrapProgram $out_bin \
-    --prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \
+    --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap coreutils findutils ]}" \
     --set LEIN_GPG ${gnupg1compat}/bin/gpg \
     --set JAVA_CMD ${jdk}/bin/java
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 302026e59cc..10d4a3f0f28 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/share/bootstrap.sh \
       --replace "#!/bin/bash" "#!$(type -P bash)"
     wrapProgram $out/bin/buildkite-agent \
-      --set PATH '"${openssh}/bin/:${git}/bin:${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:$PATH"'
+      --set PATH '"${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}:$PATH"'
   '';
 
   meta = {
diff --git a/pkgs/development/tools/continuous-integration/cide/default.nix b/pkgs/development/tools/continuous-integration/cide/default.nix
index 4a64d8bf303..1ed752fb393 100644
--- a/pkgs/development/tools/continuous-integration/cide/default.nix
+++ b/pkgs/development/tools/continuous-integration/cide/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/cide $out/bin/cide \
-      --set PATH ${docker}/bin:${git}/bin:${gnutar}/bin:${gzip}/bin
+      --set PATH ${stdenv.lib.makeBinPath [ docker git gnutar gzip ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
index 7ec56267f6b..f1a4f219682 100644
--- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -9,7 +9,7 @@ let
   ihaskellSh = writeScriptBin "ihaskell-notebook" ''
     #! ${stdenv.shell}
     export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH"
-    export PATH="${ihaskell}/bin:${ihaskellEnv}/bin:${ipython}/bin"
+    export PATH="${stdenv.lib.makeBinPath [ ihaskell ihaskellEnv ipython ]}"
     ${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${ipython}/bin/ipython notebook --kernel=haskell
   '';
   profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
diff --git a/pkgs/development/tools/misc/autobuild/default.nix b/pkgs/development/tools/misc/autobuild/default.nix
index f3d88361a11..a7d6c42e6af 100644
--- a/pkgs/development/tools/misc/autobuild/default.nix
+++ b/pkgs/development/tools/misc/autobuild/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/ab{put,build}-sourceforge \
-      --prefix PATH ":" "${openssh}/bin:${rsync}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ openssh rsync ]}"
   '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix
index 72bbe50422c..e7c6b108cdd 100644
--- a/pkgs/development/tools/misc/drush/default.nix
+++ b/pkgs/development/tools/misc/drush/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out"
     cp -r . "$out/src"
     mkdir "$out/bin"
-    wrapProgram "$out/src/drush" --prefix PATH : "${which}/bin:${php}/bin:${bash}/bin:${coreutils}/bin:${ncurses.out}/bin"
+    wrapProgram "$out/src/drush" --prefix PATH : "${stdenv.lib.makeBinPath [ which php bash coreutils ncurses ]}"
     ln -s "$out/src/drush" "$out/bin/drush"
   '';
 }
diff --git a/pkgs/development/tools/misc/kibana/default.nix b/pkgs/development/tools/misc/kibana/default.nix
index f3fe7e40623..3aeacd457dd 100644
--- a/pkgs/development/tools/misc/kibana/default.nix
+++ b/pkgs/development/tools/misc/kibana/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     mv * $out/libexec/kibana/
     rm -r $out/libexec/kibana/node
     makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \
-      --prefix PATH : "${nodejs}/bin:${coreutils}/bin:${which}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ nodejs coreutils which ]}"
     sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana
   '';
 
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
index d38c862ecfb..fa77890655e 100644
--- a/pkgs/development/tools/misc/opengrok/default.nix
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     cp -a * $out/
     substituteInPlace $out/bin/OpenGrok --replace /bin/uname ${coreutils}/bin/uname
     wrapProgram $out/bin/OpenGrok \
-      --prefix PATH : "${ctags}/bin:${git}/bin" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ ctags git ]}" \
       --set JAVA_HOME "${jre}" \
       --set OPENGROK_TOMCAT_BASE "/var/tomcat"
   '';
diff --git a/pkgs/servers/elasticmq/default.nix b/pkgs/servers/elasticmq/default.nix
index 9e0335ed441..c1216becaf3 100644
--- a/pkgs/servers/elasticmq/default.nix
+++ b/pkgs/servers/elasticmq/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       cp bin/run.sh $out/bin/elasticmq
       substituteInPlace $out/bin/elasticmq --replace '-DBASEDIR=$BASEDIR' '-DBASEDIR=''${ELASTICMQ_DATA_PREFIX:-.}'
 
-      wrapProgram $out/bin/elasticmq --prefix PATH : "${which}/bin:${jre}/bin"
+      wrapProgram $out/bin/elasticmq --prefix PATH : "${stdenv.lib.makeBinPath [ which jre ]}"
     '';
 
   meta = {
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index f94ca52259e..75838ebbe5d 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -23,9 +23,9 @@ stdenv.mkDerivation rec {
 
     mkdir -p "$out/bin"
     makeWrapper "$out/share/neo4j/bin/neo4j" "$out/bin/neo4j" \
-        --prefix PATH : "${jre}/bin:${which}/bin:${gnused}/bin"
+        --prefix PATH : "${stdenv.lib.makeBinPath [ jre which gnused ]}"
     makeWrapper "$out/share/neo4j/bin/neo4j-shell" "$out/bin/neo4j-shell" \
-        --prefix PATH : "${jre}/bin:${which}/bin:${gnused}/bin"
+        --prefix PATH : "${stdenv.lib.makeBinPath [ jre which gnused ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 3a2c460160a..1e5cc846513 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -51,7 +51,7 @@ in buildPythonApplication rec {
       --set XPRA_LOG_DIR "\$HOME/.xpra" \
       --set XPRA_INSTALL_PREFIX "$out" \
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
   '';
 
   preCheck = "exit 0";
@@ -60,7 +60,7 @@ in buildPythonApplication rec {
   #postFixup = ''
   #  sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra
   #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra
+  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
   #'';
 
 
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
index f30c0751c3f..aece94234a8 100644
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ b/pkgs/tools/X11/xpra/gtk3.nix
@@ -54,7 +54,7 @@ buildPythonApplication rec {
       --set XKB_BINDIR "${xkbcomp}/bin" \
       --set FONTCONFIG_FILE "${fontsConf}" \
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
   '';
 
   preCheck = "exit 0";
@@ -64,7 +64,7 @@ buildPythonApplication rec {
   #postFixup = ''
   #  sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra
   #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra
+  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
   #'';
 
 
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index d4e058d143f..5faeb926c06 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/sbin/btrbk \
       --set PERL5LIB $PERL5LIB \
-      --prefix PATH ':' "${btrfs-progs}/bin:${bash}/bin/"
+      --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 27fc11946aa..85b4a1e1a8f 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -16,7 +16,7 @@ in stdenv.mkDerivation {
     python setup.py install --prefix=$out
     wrapProgram $out/bin/duplicity \
       --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pycrypto}):$(toPythonPath ${ecdsa}):$(toPythonPath ${paramiko}):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
-      --prefix PATH : "${gnupg}/bin:${ncftp}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ gnupg ncftp ]}"
     wrapProgram $out/bin/rdiffdir \
       --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pycrypto}):$(toPythonPath ${ecdsa}):$(toPythonPath ${paramiko}):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})"
   '';
diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix
index 9329cd23e83..80ff97f097d 100644
--- a/pkgs/tools/backup/store-backup/default.nix
+++ b/pkgs/tools/backup/store-backup/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     for p in $out/bin/*
       do wrapProgram "$p" \
       --prefix PERL5LIB ":" "${perlPackages.DBFile}/lib/perl5/site_perl" \
-      --prefix PATH ":" "${which}/bin:${bzip2.bin}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ which bzip2 ]}"
     done
 
     patchShebangs $out
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index bf8cefd057e..7d4a341f555 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     cp unetbootin.desktop $out/share/applications
 
     wrapProgram $out/bin/unetbootin \
-      --prefix PATH : ${which}/bin:${p7zip}/bin:${mtools}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ which p7zip mtools ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/pdfread/default.nix b/pkgs/tools/graphics/pdfread/default.nix
index a4184fd9514..3c43935e950 100644
--- a/pkgs/tools/graphics/pdfread/default.nix
+++ b/pkgs/tools/graphics/pdfread/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     cp -R *.py pylrs $PYDIR
 
     wrapProgram $out/bin/pdfread.py --prefix PYTHONPATH : $PYTHONPATH:${pillow}/$LIBSUFFIX/PIL:$PYDIR \
-      --prefix PATH : ${ghostscript}/bin:${pngnq}/bin:${djvulibre.bin}/bin:${unrar}/bin:${optipng}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ ghostscript pngnq djvulibre unrar optipng ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 3aa2c41546b..d73def7ab9b 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/sbin/gparted \
       --prefix PATH : "${procps}/bin"
     wrapProgram $out/sbin/gpartedbin \
-      --prefix PATH : "${gpart}/bin:${hdparm}/bin:${utillinux}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm utillinux ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 4ef8cbd757a..d1b5481ad01 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl.bin}/bin:${spidermonkey.out}/bin"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${stdenv.lib.makeBinPath [ curl spidermonkey ]}"
     done
   '';
 
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
index 2c1f3d77def..a55485953a8 100644
--- a/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     PREFIX=\"\" DESTDIR=$out make install
     wrapProgram $out/bin/profile-cleaner \
-      --prefix PATH : "${parallel}/bin:${sqlite.bin}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ parallel sqlite ]}"
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
index 748f41c9053..706f2434a95 100644
--- a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
+++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress
 
     wrapProgram $out/libexec/openvpn/openvpn-learnaddress \
-        --prefix PATH : ${coreutils}/bin:${gawk}/bin:${utillinux}/bin
+        --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk utillinux ]}
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
index f6b11580598..3b405561ef9 100644
--- a/pkgs/tools/networking/snabb/default.nix
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     done
 
     # We need a way to pass $PATH to the scripts
-    sed -i '2iexport PATH=${git}/bin:${mariadb}/bin:${which}/bin:${procps}/bin:${coreutils}/bin' src/program/snabbnfv/neutron_sync_master/neutron_sync_master.sh.inc
-    sed -i '2iexport PATH=${git}/bin:${coreutils}/bin:${diffutils}/bin:${nettools}/bin' src/program/snabbnfv/neutron_sync_agent/neutron_sync_agent.sh.inc
+    sed -i '2iexport PATH=${stdenv.lib.makeBinPath [ git mariadb which procps coreutils ]}' src/program/snabbnfv/neutron_sync_master/neutron_sync_master.sh.inc
+    sed -i '2iexport PATH=${stdenv.lib.makeBinPath [ git coreutils diffutils nettools ]}' src/program/snabbnfv/neutron_sync_agent/neutron_sync_agent.sh.inc
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/security/prey/default.nix b/pkgs/tools/security/prey/default.nix
index 57352f99091..ab041c8b05d 100644
--- a/pkgs/tools/security/prey/default.nix
+++ b/pkgs/tools/security/prey/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
     cp -R . $out
     cp -R ${modulesSrc}/* $out/modules/
     wrapProgram "$out/prey.sh" \
-      --prefix PATH ":" "${xawtv}/bin:${imagemagick.out}/bin:${curl.bin}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ xawtv imagemagick curl scrot inetutils coreutils ]}" \
       --set CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"
   '';
 
diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix
index a426356a09f..ce8a60dca86 100644
--- a/pkgs/tools/typesetting/djvu2pdf/default.nix
+++ b/pkgs/tools/typesetting/djvu2pdf/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp -p djvu2pdf $out/bin
-    wrapProgram $out/bin/djvu2pdf --prefix PATH : ${ghostscript}/bin:${djvulibre.bin}/bin:${which}/bin
+    wrapProgram $out/bin/djvu2pdf --prefix PATH : ${stdenv.lib.makeBinPath [ ghostscript djvulibre which ]}
 
     mkdir -p $out/man/man1
     cp -p djvu2pdf.1.gz $out/man/man1
diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix
index 90b2ff61f34..029227cd118 100644
--- a/pkgs/tools/typesetting/docbook2odf/default.nix
+++ b/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     sed -i "s|/usr/share/docbook2odf|$out/share/docbook2odf|" "$out/bin/docbook2odf"
 
     wrapProgram "$out/bin/docbook2odf" \
-      --prefix PATH : "${zip}/bin:${libxslt}/bin" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ zip libxslt ]}" \
       --prefix PERL5PATH : "${stdenv.lib.makePerlPath [PerlMagick]}"
   '';
 
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index 2ed846cb070..ed3dad64f16 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/bin/xmlto" \
-       --prefix PATH : "${libxslt.bin}/bin:${libxml2.bin}/bin:${getopt}/bin"
+       --prefix PATH : "${stdenv.lib.makeBinPath [ libxslt libxml2 getopt ]}"
 
     # `w3m' is needed for HTML to text conversions.
     substituteInPlace "$out/share/xmlto/format/docbook/txt" \