mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-27 03:14:56 +01:00
feat(dotenv): add named pipe (FIFO) support
1Password Environments and similar secret managers mount `.env` files as UNIX named pipes (FIFOs) instead of regular files. The `source_env` function previously only checked for regular files (`-f`), causing it to silently skip FIFO-backed `.env` files. Adding a `-p` check allows the plugin to also source named pipes.
This commit is contained in:
parent
88659ed193
commit
4b4641c390
2 changed files with 9 additions and 1 deletions
|
|
@ -78,6 +78,14 @@ change.
|
|||
NOTE: if a directory is found in both the allowed and disallowed lists, the disallowed list
|
||||
takes preference, _i.e._ the .env file will never be sourced.
|
||||
|
||||
## Named Pipe (FIFO) Support
|
||||
|
||||
The plugin supports `.env` files provided as UNIX named pipes (FIFOs) in addition to regular files.
|
||||
This is useful when secrets managers like [1Password Environments](https://developer.1password.com/docs/environment/)
|
||||
mount `.env` files as named pipes to inject secrets on-the-fly without writing them to disk.
|
||||
|
||||
No additional configuration is required — the plugin automatically detects and sources named pipes.
|
||||
|
||||
## Version Control
|
||||
|
||||
**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it's supposed to be local only.
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
## Functions
|
||||
|
||||
source_env() {
|
||||
if [[ ! -f "$ZSH_DOTENV_FILE" ]]; then
|
||||
if [[ ! -f "$ZSH_DOTENV_FILE" ]] && [[ ! -p "$ZSH_DOTENV_FILE" ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue