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 
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}
  '';
}