fix: use su with explicit exports for lifecycle hooks #1922
+0
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Running commands with
sudiscards theEnvbeing set on theexec.Cmd. This results in noPATHbeing available so all commands must be fully qualified. The vscode devcontainers use docker's-uflag which doesn't have the same issue.I ran into this incompatibility while trying to start a
.devcontainer.jsonfile generated by https://devenv.sh/Generated
.devcontainer.json:{ "customizations": { "vscode": { "extensions": [ "mkhl.direnv" ] } }, "image": "ghcr.io/cachix/devenv/devcontainer:latest", "overrideCommand": false, "updateContentCommand": "devenv test" }Error:
Note:
The
sucommand has a-pflag to preserve the environment. However, this flag omits thePATH,HOME,SHELL, andUSERenvironment variables. So we'd need to use theexportcommand for these either way.