projects/aports·blob master · refs

53 lines · 2.2 KiB

1# Explicitly initialize XDG base directory variables to ease compatibility
2# with Guix System: see <https://issues.guix.gnu.org/56050#3>.
3export XCURSOR_PATH="${XCURSOR_PATH:-$HOME/.local/share/icons:$HOME/.icons:/usr/local/share/icons:/usr/share/icons}"
4export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
5export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
6export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
7export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
8export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}"
9export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
10# no default for XDG_RUNTIME_DIR (depends on foreign distro for semantics)
11
12# `guix pull` profile
13GUIX_PROFILE="$HOME/.config/guix/current"
14export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
15# Add to INFOPATH and MANPATH so the latest Guix documentation is available to
16# info and man readers. When INFOPATH is unset, add a trailing colon so Emacs
17# searches 'Info-default-directory-list'. When MANPATH is unset, add a
18# trailing colon so the system default search path is used.
19export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
20export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
21
22# User's default profile, if it exists
23GUIX_PROFILE="$HOME/.guix-profile"
24if [ -f "$GUIX_PROFILE/etc/profile" ]; then
25 . "$GUIX_PROFILE/etc/profile"
26
27 # see info '(guix) Application Setup'
28 export GUIX_LOCPATH="$GUIX_PROFILE/lib/locale${GUIX_LOCPATH:+:}$GUIX_LOCPATH"
29
30 # Documentation search paths may be handled by $GUIX_PROFILE/etc/profile if
31 # the user installs info and man readers via Guix. If the user doesn’t,
32 # explicitly add to them so documentation for software from ‘guix install’
33 # is available to the system info and man readers.
34 case $INFOPATH in
35 *$GUIX_PROFILE/share/info*) ;;
36 *) export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH" ;;
37 esac
38 case $MANPATH in
39 *$GUIX_PROFILE/share/man*) ;;
40 *) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
41 esac
42
43 case $XDG_DATA_DIRS in
44 *$GUIX_PROFILE/share*) ;;
45 *) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
46 esac
47fi
48
49# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
50# info '(guix) Configuring the Shell'.
51
52# Clean up after ourselves.
53unset GUIX_PROFILE