{ writeTextFile, stdenv, python3 }: { writePythonScriptBin = name: packagesSelectionFun: text: let mkScriptName = s: (builtins.replaceStrings [ "\\" ] [ "-" ] s); x = writeTextFile { name = "unit-script.py"; executable = true; destination = "/bin/${mkScriptName name}"; text = "#!/usr/bin/env python3\n${text}"; }; deriv = stdenv.mkDerivation { name = mkScriptName name; buildInputs = [ (python3.withPackages (pythonPackages: packagesSelectionFun pythonPackages)) ]; unpackPhase = "true"; installPhase = '' mkdir -p $out/bin cp ${x}/bin/${mkScriptName name} $out/bin/${mkScriptName name} ''; }; in "${deriv}/bin/${mkScriptName name}"; }