fix(XDG): Make XDG respect system
Allow the system variables to override the ones set here, this is important for linux distros such as Gentoo which provide multiple versions of some packges and their own mechanism to switch between them.
This commit is contained in:
parent
9eb9dd90f7
commit
7711d3d6db
|
|
@ -30,6 +30,9 @@ must have the extension `.sh` to be detected.
|
|||
After this the XDG shenanigans are performed, again inspect the file to
|
||||
see what it does.
|
||||
Overrides go in `overrides.d/XDG`
|
||||
They will be loaded before the XDG_shenanigans so that overrides can work,
|
||||
and system variables can be pulled in. To disable a system variable you
|
||||
just need to `unset VARIABLE` in your override file
|
||||
|
||||
Next is program_config, same rules.
|
||||
|
||||
|
|
|
|||
|
|
@ -24,63 +24,63 @@ export XDG_STATE_HOME="$HOME"/.local/state
|
|||
# - I will also attempt to keep this in alphabetical order
|
||||
|
||||
# android-studio
|
||||
export ANDROID_HOME="$XDG_DATA_HOME"/android
|
||||
export ANDROID_USER_HOME="$ANDROID_HOME"
|
||||
export ANDROID_AVD_HOME="$ANDROID_HOME/avd"
|
||||
[ -z "$ANDROID_HOME" ] && export ANDROID_HOME="$XDG_DATA_HOME"/android
|
||||
[ -z "$ANDROID_USER_HOME" ] && export ANDROID_USER_HOME="$ANDROID_HOME"
|
||||
[ -z "$ANDROID_AVD_HOME" ] && export ANDROID_AVD_HOME="$ANDROID_HOME/avd"
|
||||
# Cabal
|
||||
export CABAL_CONFIG="$XDG_CONFIG_HOME"/cabal/config
|
||||
export CABAL_DIR="$XDG_DATA_HOME"/cabal
|
||||
[ -z "$CABAL_CONFIG" ] && export CABAL_CONFIG="$XDG_CONFIG_HOME"/cabal/config
|
||||
[ -z "$CABAL_DIR" ] && export CABAL_DIR="$XDG_DATA_HOME"/cabal
|
||||
# cargo
|
||||
export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
||||
[ -z "$CARGO_HOME" ] && export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
||||
# Cuda cache
|
||||
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||||
[ -z "$CUDA_CACHE_PATH" ] && export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||||
# dotnet snap - this might be a me-only thing?
|
||||
## Provided by PORTAGE
|
||||
# export DOTNET_ROOT="$HOME/.local/opt/dotnet"
|
||||
[ -z "$DOTNET_ROOT" ] && export DOTNET_ROOT="$HOME/.local/opt/dotnet"
|
||||
# gem cache
|
||||
export GEM_SPEC_CACHE="${XDG_CACHE_HOME}"/gem
|
||||
[ -z "$GEM_SPEC_CACHE" ] && export GEM_SPEC_CACHE"${XDG_CACHE_HOME}"/gem
|
||||
## Provided by PORTAGE
|
||||
# gem
|
||||
export GEM_HOME="${XDG_DATA_HOME}"/gem
|
||||
[ -z "$GEM_HOME" ] && export GEM_HOME="${XDG_DATA_HOME}"/gem
|
||||
# GHCUP
|
||||
export GHCUP_USE_XDG_DIRS=1
|
||||
[ -z "$GHCUP_USE_XDG_DIRS" ] && export GHCUP_USE_XDG_DIRS=1
|
||||
# GNUPG
|
||||
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
|
||||
[ -z "$GNUPGHOME" ] && export GNUPGHOME="$XDG_DATA_HOME"/gnupg
|
||||
# go
|
||||
export GOPATH="$XDG_DATA_HOME"/go
|
||||
[ -z "$GOPATH" ] && export GOPATH="$XDG_DATA_HOME"/go
|
||||
# Gradle
|
||||
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
|
||||
[ -z "$GRADLE_USER_HOME" ] && export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
|
||||
# GTK 2
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||
[ -z "$GTK2_RC_FILES" ] && export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||
# jupyter
|
||||
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME"/jupyter
|
||||
[ -z "$JUPYTER_CONFIG_DIR" ] && export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME"/jupyter
|
||||
# kde
|
||||
export KDEHOME="$XDG_DATA_HOME"/kde
|
||||
[ -z "$KDEHOME" ] && export KDEHOME="$XDG_DATA_HOME"/kde
|
||||
# Kodi
|
||||
export KODI_DATA="$XDG_DATA_HOME"/kodi
|
||||
[ -z "$KODI_DATA" ] && export KODI_DATA="$XDG_DATA_HOME"/kodi
|
||||
# Less History
|
||||
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
|
||||
[ -z "$LESSHISTFILE" ] && export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
|
||||
# npm
|
||||
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
||||
[ -z "$NPM_CONFIG_USERCONFIG" ] && export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
||||
# NuGet
|
||||
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
|
||||
[ -z "$NUGET_PACKAGES" ] && export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
|
||||
# OPAM
|
||||
export OPAMROOT="$XDG_DATA_HOME/opam"
|
||||
[ -z "$OPAMROOT" ] && export OPAMROOT="$XDG_DATA_HOME/opam"
|
||||
# Parallel
|
||||
export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
|
||||
[ -z "$PARALLEL_HOME" ] && export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
|
||||
# Pass
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
||||
[ -z "$PASSWORD_STORE_DIR" ] && export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
||||
# pylint
|
||||
export PYLINTHOME="${XDG_CACHE_HOME}"/pylint
|
||||
[ -z "$PYLINTHOME" ] && export PYLINTHOME="${XDG_CACHE_HOME}"/pylint
|
||||
# Python history
|
||||
export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/pythonrc"
|
||||
[ -z "$PYTHONSTARTUP" ] && export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/pythonrc"
|
||||
# Rustup
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||
[ -z "$RUSTUP_HOME" ] && export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||
# Stack
|
||||
export STACK_ROOT="$XDG_DATA_HOME"/stack
|
||||
[ -z "$STACK_ROOT" ] && export STACK_ROOT="$XDG_DATA_HOME"/stack
|
||||
# TERMINFO
|
||||
export TERMINFO="$XDG_DATA_HOME"/terminfo
|
||||
export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
|
||||
[ -z "$TERMINFO" ] && export TERMINFO="$XDG_DATA_HOME"/terminfo
|
||||
[ -z "$TERMINFO_DIRS" ] && export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
|
||||
# wine
|
||||
export WINEPREFIX="$XDG_DATA_HOME"/wine
|
||||
[ -z "$WINEPREFIX" ] && export WINEPREFIX="$XDG_DATA_HOME"/wine
|
||||
# XCURSOR
|
||||
export XCURSOR_PATH=/usr/share/icons:${XDG_DATA_HOME}/icons
|
||||
[ -z "$XCURSOR_PATH" ] && export XCURSOR_PATH=/usr/share/icons:${XDG_DATA_HOME}/icons
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@ if [ -d "${SHELLY}/overrides.d/programs" ]; then
|
|||
done
|
||||
fi
|
||||
|
||||
. "${SHELLY}/XDG_shenanigans.sh"
|
||||
if [ -d "${SHELLY}/overrides.d/XDG" ]; then
|
||||
for file in "${SHELLY}"/overrides.d/XDG/*.sh ; do
|
||||
# shellcheck disable=SC1090
|
||||
[ -f "$file" ] && . "$file"
|
||||
done
|
||||
fi
|
||||
. "${SHELLY}/XDG_shenanigans.sh"
|
||||
|
||||
. "${SHELLY}/program_config.sh"
|
||||
if [ -d "${SHELLY}/overrides.d/program_config" ]; then
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user