Last active
March 30, 2024 23:20
-
-
Save AfroThundr3007730/6d22462d3c1b468945d729061b47b051 to your computer and use it in GitHub Desktop.
Profile snippet to redirect $HOME clutter to the proper XDG directory
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#/etc/profile.d/xdg_dirs.sh | |
# SPDX-License-Identifier: GPL-3.0-or-later | |
############################################################################### | |
# XDG variables | |
############################################################################### | |
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-${HOME}/.cache}" | |
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}" | |
export XDG_DATA_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}" | |
export XDG_STATE_HOME="${XDG_STATE_HOME:-${HOME}/.local/state}" | |
############################################################################### | |
# XDG workarounds | |
############################################################################### | |
# Rust | |
export CARGO_HOME="${XDG_DATA_HOME}/cargo" | |
export RUST_HOME="${XDG_DATA_HOME}/rustup" | |
# Go | |
export GOPATH="${XDG_DATA_HOME}/go" | |
# Python | |
export PYTHONSTARTUP=/etc/pythonrc | |
export PYENV_ROOT="${XDG_DATA_HOME}/pyenv" | |
export PYLINTHOME="${XDG_CACHE_HOME}/pylint" | |
# Ruby | |
export GEM_HOME="${XDG_DATA_HOME}/gem" | |
export GEM_SPEC_CACHE="${GEM_HOME}/specs" | |
# NodeJS | |
export NPM_CONFIG_USERCONFIG="${XDG_CONFIG_HOME}/npm/npmrc" | |
export NPM_PACKAGES="${HOME}/.local" | |
export NODE_PATH="${NPM_PACKAGES}/lib/node_modules:${NODE_PATH:-}" | |
export npm_config_cache="${XDG_CACHE_HOME}/npm" | |
# Vim | |
export VIMINIT="if filereadable('${XDG_CONFIG_HOME}/vim/vimrc') | source ${XDG_CONFIG_HOME}/vim/vimrc | endif" | |
# General | |
export ANDROID_HOME="${XDG_DATA_HOME}/android" | |
export AWS_CONFIG_FILE="${XDG_CONFIG_HOME}/aws/config" | |
export AWS_SHARED_CREDENTIALS_FILE="${XDG_CONFIG_HOME}/aws/credentials" | |
export DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker" | |
export GNUPGHOME="${XDG_DATA_HOME}/gnupg" | |
export GRADLE_USER_HOME="${XDG_DATA_HOME}/gradle" | |
export GTK2_RC_FILES="${XDG_CONFIG_HOME}/gtk-2.0/gtkrc" | |
export INPUTRC="${XDG_CONFIG_HOME}/inputrc" | |
export IPYTHONDIR="${XDG_CONFIG_HOME}/ipython" | |
export LESSHISTFILE="${XDG_STATE_HOME}/lesshst" | |
export LESSKEY="${XDG_CONFIG_HOME}/lesskey" | |
export MINIKUBE_HOME="${XDG_DATA_HOME}" | |
export NODE_REPL_HISTORY="${XDG_STATE_HOME}/node_repl_history" | |
export WGETRC="${XDG_CONFIG_HOME}/wgetrc" | |
export ZDOTDIR="${XDG_CONFIG_HOME}/zsh" | |
# History | |
[ -n "${BASH_VERSION:-}" ] && export HISTFILE="${XDG_STATE_HOME}/bash/history" | |
[ -n "${ZSH_VERSION:-}" ] && export HISTFILE="${XDG_STATE_HOME}/zsh/history" | |
return 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment