update direnv setup

This commit is contained in:
Jason Swank
2026-01-23 18:23:08 +00:00
parent 9d35f280dd
commit a23415c69a
3 changed files with 25 additions and 21 deletions

View File

@@ -23,9 +23,8 @@ exit
## More Info
The image is based on *alpine:3*, with a small amount of additional
setup/installation done. See the [Dockerfile](Dockerfile) and [ctx/home](ctx)
for the specifics.
The image is based on *alpine:3* with a small amount of additional setup/installation.
See the [Dockerfile](Dockerfile) and [ctx/home](ctx) for the specifics.
- Some basic utilities are installed for interative and script-based shell usage
- A user is created with sudo (`-u root`) access.
@@ -38,9 +37,9 @@ See ghcr.io/jswank/alpine-cli for current available images.
## Helper Script
A helper script, using [casey/just](https://github.com/casey/just') is in
[bin/cli](bin/cli). It can be used to quickly start an ephemeral (or
persistent) container.
[bin/cli](./bin/cli) is a helper script using
[casey/just](https://github.com/casey/just'). It can be used to quickly start an
ephemeral (or persistent) container.
```console
$ bin/cli help

View File

@@ -1,15 +1,4 @@
export_secret() {
local name="$1"
local file="/run/secrets/${name}"
if [[ ! -f "$file" ]]; then
printf "secret file not found: %s\n" $file >&2
return 1
fi
# Read first line, remove trailing spaces/tabs, convert nulls to newlines
local value
value=$(head -n1 "$file" | sed 's/[ \t]*$//' | tr '\0' '\n')
export "${name}=${value}"
}
# Source library files in alphabetical order
for lib in ~/.config/direnv/lib/*.sh; do
[[ -f "$lib" ]] && source "$lib"
done

View File

@@ -0,0 +1,16 @@
# Exports a Podman / Docker secret as an environment variable
export-secret() {
local name="$1"
local file="/run/secrets/${name}"
if [[ ! -f "$file" ]]; then
printf "secret file not found: %s\n" $file >&2
return 1
fi
# Read first line, remove trailing spaces/tabs, convert nulls to newlines
local value
value=$(head -n1 "$file" | sed 's/[ \t]*$//' | tr '\0' '\n')
export "${name}=${value}"
}