Nix-Shell not found but dry run succeeds
- Dominant language
- Go
- Stars
- 4k
- Forks
- 332
- Avg merge
- 19h 9m
- Merged PRs (30d)
- 137
Description
Running Dagu via Docker Compose. I don't know if it's the image or what, but the [invocation for `nix-shell`](https://docs.dagu.cloud/features/executors/shell#nix-shell) doesn't work when called in a DAG. Strange thing is, this failure isn't picked up when executing `dagu dry `. Info from within the container's below:
## DAG Snippet
```
- name: list-all-databases
shell: nix-shell
shellPackages: [mariadb]
command: |
mariadb -h mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" -Nse "SHOW DATABASES;" | egrep -v '(information|performance)_schema|mysql|sys'
output: MADB_LIST
- name: db-folder-check-creation-backup
depends: list-all-databases
shell: nix-shell
shellPackages: [mariadb]
workingDir: /backups/dbs/mariadb
script: |
for mdatabase in $(echo ${MADB_LIST}) ; do
mkdir -p ${mdatabase}
mariadb_dump --u root --p"${MARIADB_ROOT_PASSWORD}" --databases ${madb} > ${mdatabase}/dump-$(date +%Y%m%d)-$(cat /proc/sys/kernel/random/uuid).sql
done
```
## Container Info
```
┌─ DAG: mariadb-backup ────────────────────────────────────────────────────────────────────────────┐
│ Status: Failed ✗ | Started: 13:39:27 | Elapsed: 401ms │
│ Run ID: 0199494f-7186-7c91-9dec-37a1e39815f1 │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
Progress: ████████████████████████████████████████ 100% (3/3 steps)
Completed Steps:
✗ list-all-databases [0s] Error: failed to execute step "list-all-databases": exec: "nix-shell": executable file not found in $PATH
⚠ db-backup-cleanup
⚠ db-folder-check-creation-ba...
d3a6be505b43:/dagu/dags# dagu dry mariadb-backups.yaml
time=2025-09-14T13:40:04.924-04:00 level=INFO msg="Step started" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=list-all-databases
time=2025-09-14T13:40:04.931-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=list-all-databases status=finished
time=2025-09-14T13:40:04.934-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=list-all-databases status=finished
time=2025-09-14T13:40:05.034-04:00 level=INFO msg="Step started" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-folder-check-creation-backup
time=2025-09-14T13:40:05.040-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-folder-check-creation-backup status=finished
time=2025-09-14T13:40:05.047-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-folder-check-creation-backup status=finished
time=2025-09-14T13:40:05.140-04:00 level=INFO msg="Step started" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-backup-cleanup
time=2025-09-14T13:40:05.143-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-backup-cleanup status=running
time=2025-09-14T13:40:05.149-04:00 level=INFO msg="Step finished" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 step=db-backup-cleanup status=finished
time=2025-09-14T13:40:05.244-04:00 level=INFO msg="Dry-run completed" dag=mariadb-backup dagRunId=01994950-04ba-728c-8737-ccbae3ee5175 params=[]
Summary ->
+--------------------------------------+----------------+---------------------------+---------------------------+----------+--------+-------+
| RUN ID | NAME | STARTED AT | FINISHED AT | STATUS | PARAMS | ERROR |
+--------------------------------------+----------------+---------------------------+---------------------------+----------+--------+-------+
| 01994950-04ba-728c-8737-ccbae3ee5175 | mariadb-backup | 2025-09-14T13:40:04-04:00 | 2025-09-14T13:40:05-04:00 | finished | | |
+--------------------------------------+----------------+---------------------------+---------------------------+----------+--------+-------+
Details ->
+---+---------------------------------+------------+---------------------------+----------+----------------------------------------------------------------------------------------------------------------------------+-------+
| # | STEP | STARTED AT | FINISHED AT | STATUS | COMMAND | ERROR |
+---+---------------------------------+------------+---------------------------+----------+----------------------------------------------------------------------------------------------------------------------------+-------+
| 1 | list-all-databases | | 2025-09-14T13:40:04-04:00 | finished | -h mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" -Nse SHOW DATABASES; | egrep -v (information|performance)_schema|mysql|sys | |
| 2 | db-folder-check-creation-backup | | 2025-09-14T13:40:05-04:00 | finished | | |
| 3 | db-backup-cleanup | | 2025-09-14T13:40:05-04:00 | finished | $(pwd) -type f -name *.sql -ctime +7 | xargs rm -fv | |
+---+---------------------------------+------------+---------------------------+----------+----------------------------------------------------------------------------------------------------------------------------+-------+
d3a6be505b43:/dagu/dags# dagu version
1.22.4-be57f3d
d3a6be505b43:/dagu/dags# which nix-shell
d3a6be505b43:/dagu/dags#
```
Contributor guide
Assessment
This issue has not been assessed yet.