From 528943263040c9f383361b1a37a3ee4db66412af Mon Sep 17 00:00:00 2001 From: Anthony Oleinik <48811365+antholeole@users.noreply.github.com> Date: Thu, 14 Mar 2024 01:59:47 -0700 Subject: Add support for other procfile runners (#5) * WIP * WIP * WIP * done * done * fix CI * fix CI * refactor: default to overmind in mkProcfileRunner * module: cleanup option docs * refactor: cleanup multi-test suite --------- Co-authored-by: seth --- default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'default.nix') 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) + )} ''; }; } -- cgit v1.2.3