Add deliver
script
Based on Jess Archer's script, this executes a command within a specified Docker Compose service or, if no matching one is not found, will execute it locally.
This commit is contained in:
parent
c1e85f01d9
commit
80927b1df2
|
@ -15,6 +15,7 @@ let
|
||||||
create-zellij-session = writeShellApplication (
|
create-zellij-session = writeShellApplication (
|
||||||
import ./scripts/create-zellij-session.nix { inherit pkgs; }
|
import ./scripts/create-zellij-session.nix { inherit pkgs; }
|
||||||
);
|
);
|
||||||
|
deliver = writeShellApplication (import ./scripts/deliver.nix { inherit pkgs; });
|
||||||
export-video-list = writeShellApplication (
|
export-video-list = writeShellApplication (
|
||||||
import ./scripts/export-video-list.nix { inherit pkgs username; }
|
import ./scripts/export-video-list.nix { inherit pkgs username; }
|
||||||
);
|
);
|
||||||
|
@ -70,6 +71,7 @@ with pkgs;
|
||||||
|
|
||||||
# Scripts.
|
# Scripts.
|
||||||
create-zellij-session
|
create-zellij-session
|
||||||
|
deliver
|
||||||
notetaker
|
notetaker
|
||||||
run
|
run
|
||||||
t
|
t
|
||||||
|
|
25
lib/shared/scripts/deliver.nix
Normal file
25
lib/shared/scripts/deliver.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ 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
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue