blob: fbf522c3a2dbb1fa2ce608c9e2f7249f44af43dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# Hey Emacs; this is a -*- shell-script -*-.
# Hopefully invoked by bash 🤞
_apps_dir=$(realpath --no-symlinks $(dirname ${BASH_SOURCE}))
_apps_PATH=$(
shopt -s nullglob
bins=( "${_apps_dir}"/*/bin )
IFS=: eval 'echo "${bins[*]}"'
)
export PATH=${_apps_PATH}:${PATH}
_apps_XDG_DATA_DIRS=$(
shopt -s nullglob
# We could set globstar and let Bash loose, searching the depths
# of _apps_dir for
# **/{applications/*.desktop,systemd/user/*.service}
# but it seems like asking for trouble. Make some assumptions
# about where applications typically dump their XDG-related files.
datadirs=($(
{
for dkentry in "${_apps_dir}"/*/share/applications/*.desktop
do
echo ${dkentry%/applications/*.desktop}
done
for unit in "${_apps_dir}"/*/lib*/systemd/user/*.service
do
echo ${unit%/systemd/user/*.service}
done
} | sort -u
))
IFS=: eval 'echo "${datadirs[*]}"'
)
export XDG_DATA_DIRS=$(
if test "${XDG_DATA_DIRS}"
then
echo "${_apps_XDG_DATA_DIRS}:${XDG_DATA_DIRS}"
else
echo "${_apps_XDG_DATA_DIRS}"
fi
)
|