26 lines
690 B
Nix
26 lines
690 B
Nix
{ pkgs }:
|
|
{
|
|
name = "deliver";
|
|
|
|
runtimeInputs = with pkgs; [ docker ];
|
|
|
|
text = ''
|
|
set +o pipefail
|
|
|
|
# Based on https://github.com/jessarcher/dotfiles/blob/ef692c35d64db2c13674dfc850a23b6acf9e8f91/scripts/deliver.
|
|
|
|
docker_compose_service_name=$(docker compose ps --services 2>/dev/null | grep '^app\|php$' | head -n1)
|
|
|
|
if [[ "$docker_compose_service_name" != "" ]]; then
|
|
if [ -t 1 ]; then
|
|
"${pkgs.docker}/bin/docker" compose exec "$docker_compose_service_name" "$@"
|
|
else
|
|
# The command is not being run in a TTY
|
|
"${pkgs.docker}/bin/docker" compose exec -T "$docker_compose_service_name" "$@"
|
|
fi
|
|
else
|
|
"$@"
|
|
fi
|
|
'';
|
|
}
|