mirror of
https://github.com/nix-community/nix-direnv.git
synced 2025-12-22 08:51:19 +01:00
Merge pull request #269 from mkhl/xdg_data_dirs/unique
ensure XDG_DATA_DIRS contains unique entries
This commit is contained in:
commit
1be62058df
1 changed files with 10 additions and 1 deletions
11
direnvrc
11
direnvrc
|
|
@ -113,7 +113,16 @@ _nix_import_env() {
|
||||||
_nix_export_or_unset TMPDIR "$old_tmpdir"
|
_nix_export_or_unset TMPDIR "$old_tmpdir"
|
||||||
_nix_export_or_unset TEMP "$old_temp"
|
_nix_export_or_unset TEMP "$old_temp"
|
||||||
_nix_export_or_unset TEMPDIR "$old_tempdir"
|
_nix_export_or_unset TEMPDIR "$old_tempdir"
|
||||||
export XDG_DATA_DIRS=$XDG_DATA_DIRS${old_xdg_data_dirs:+":"}$old_xdg_data_dirs
|
local new_xdg_data_dirs=${XDG_DATA_DIRS:-}
|
||||||
|
export XDG_DATA_DIRS=
|
||||||
|
local IFS=:
|
||||||
|
for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs; do
|
||||||
|
dir="${dir%/}" # remove trailing slashes
|
||||||
|
if [[ :$XDG_DATA_DIRS: = *:$dir:* ]]; then
|
||||||
|
continue # already present, skip
|
||||||
|
fi
|
||||||
|
XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}$dir"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
_nix_strip_escape_path() {
|
_nix_strip_escape_path() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue