Compare commits

...

2 Commits

Author SHA1 Message Date
mattmc3 4c3bfd37d2
Merge ea7797f929 into 6e7ac0544e 2025-02-20 06:29:27 +01:00
mattmc3 ea7797f929
feat(otp): XDG basedir support, or user value for OTP_HOME
otp plugin now uses the following logic for its home:
- If $OTP_HOME is set by the user, use that value
- If ~/.otp dir already exists, use that value
- If XDG_DATA_HOME is set, use $XDG_DATA_HOME/otp
- Else fallback to ~/.otp
2025-02-01 13:58:55 -05:00
2 changed files with 10 additions and 2 deletions

View File

@ -19,4 +19,6 @@ Provided aliases:
- `ot`: generates a MFA code based on the given key and copies it to the clipboard
(on Linux it relies on xsel, on MacOS X it uses pbcopy instead).
The plugin uses `$HOME/.otp` to store its internal files.
The plugin stores its internal files in `$OTP_HOME`, which can be set in your zshrc.
If `$OTP_HOME` is not set it defaults to either `$HOME/.otp` or `$XDG_DATA_HOME/otp`,
depending on whether `~/.otp` already exists, or whether `$XDG_DATA_HOME` is set.

View File

@ -1,4 +1,10 @@
export OTP_HOME=~/.otp
if [[ -z "$OTP_HOME" ]]; then
if [[ ! -d "$HOME/.otp" ]] && [[ -n "$XDG_DATA_HOME" ]]; then
export OTP_HOME="$XDG_DATA_HOME/otp"
else
export OTP_HOME=~/.otp
fi
fi
mkdir -p $OTP_HOME
function ot () {