ctucx.git: nixfiles

ctucx' nixfiles

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
{ 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}";

}