diff --git a/pkgs/development/erlang-modules/build-rebar3.nix b/pkgs/development/erlang-modules/build-rebar3.nix
index 6ad82b62158c..8033d6c838ee 100644
--- a/pkgs/development/erlang-modules/build-rebar3.nix
+++ b/pkgs/development/erlang-modules/build-rebar3.nix
@@ -4,7 +4,7 @@
 { name, version
 , src
 , setupHook ? null
-, buildInputs ? [], erlangDeps ? [], pluginDeps ? []
+, buildInputs ? [], erlangDeps ? [], buildPlugins ? []
 , postPatch ? ""
 , compilePorts ? false
 , installPhase ? null
@@ -14,8 +14,7 @@
 with stdenv.lib;
 
 let
-  plugins = pluginDeps ++ (if compilePorts then [pc] else []);
-
+  ownPlugins = buildPlugins ++ (if compilePorts then [pc] else []);
 
   shell = drv: stdenv.mkDerivation {
           name = "interactive-shell-${drv.name}";
@@ -28,7 +27,11 @@ let
     inherit version;
 
     buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ];
-    propagatedBuildInputs = erlangDeps ++ plugins;
+    propagatedBuildInputs = unique (erlangDeps ++ ownPlugins);
+
+    # The following are used by rebar3-nix-bootstrap
+    inherit compilePorts;
+    buildPlugins = ownPlugins;
 
     inherit src;
 
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 5ee9ecbcef8b..dccb67efaf4c 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -81,8 +81,7 @@ stdenv.mkDerivation {
   patches = [ ./hermetic-bootstrap.patch ];
 
   buildInputs = [ erlang tree  ];
-  propagatedBuildInputs = [ registrySnapshot  rebar3-nix-bootstrap ];
-
+  propagatedBuildInputs = [ registrySnapshot rebar3-nix-bootstrap ];
 
   postPatch = ''
     echo postPatch