summaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix19
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)
+ )}
'';
};
}