1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{ writeTextFile, stdenv, python3, ... }:
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}";
};
in 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}
'';
}