From f29b4cfd9dabd9bb92a11d0b42ad44e8f6a146ab Mon Sep 17 00:00:00 2001 From: Jason Swank Date: Fri, 19 Dec 2025 17:27:33 +0000 Subject: [PATCH] improve direnv --- direnv/.config/direnv/direnv.toml | 2 +- direnv/.config/direnv/direnvrc | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 direnv/.config/direnv/direnvrc diff --git a/direnv/.config/direnv/direnv.toml b/direnv/.config/direnv/direnv.toml index 89ac394..695a232 100644 --- a/direnv/.config/direnv/direnv.toml +++ b/direnv/.config/direnv/direnv.toml @@ -1,2 +1,2 @@ [global] -load_dotenv = true +load_dotenv = false diff --git a/direnv/.config/direnv/direnvrc b/direnv/.config/direnv/direnvrc new file mode 100644 index 0000000..df319ab --- /dev/null +++ b/direnv/.config/direnv/direnvrc @@ -0,0 +1,15 @@ +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}" +}