diff options
Diffstat (limited to 'default.nix')
| -rw-r--r-- | default.nix | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/default.nix b/default.nix index ad898a9..8a0e155 100644 --- a/default.nix +++ b/default.nix @@ -21,17 +21,32 @@ in lib.concatLines ( lib.mapAttrsToList (name: cmd: "${name}: ${cmd}") procGroup ); + + mkRunCommand = procRunner: procfile: let + inherit (builtins.parseDrvName procRunner.name) name; + default = "${lib.getExe procRunner} ${procfile}"; + in + # special cases for officially supported procfile runners + { + overmind = ''overmind start -f ${procfile} --root "$PWD" "$@"''; + honcho = ''honcho start -f ${procfile} --app-root "$PWD" "$@"''; + } + .${name} + or default; in { mkProcfileRunner = { name, procGroup, + procRunner ? pkgs.overmind, }: pkgs.writeShellApplication { inherit name; - runtimeInputs = [pkgs.overmind]; + runtimeInputs = [procRunner]; text = '' set -x - overmind start -f ${pkgs.writeText name (toProcfile procGroup)} --root "$PWD" "$@" + ${mkRunCommand procRunner ( + pkgs.writeText "Procfile" (toProcfile procGroup) + )} ''; }; } |
