HOKAY; XDG_* refactor

This commit is contained in:
2024-08-16 09:41:26 -06:00
parent 7b70567a67
commit 9301a32090
31 changed files with 332 additions and 130 deletions

View File

@ -1,5 +1,16 @@
[ "$DOTWRYN" ] || {
[ -d "${HOME}/.wryn" ] \
&& export DOTWRYN="${HOME}/.wryn" \
|| export DOTWRYN="${XDG_DATA_HOME:-${HOME}/.local/share}/wryn" \
;
}
[ "${DOTWRYN}" ] && [ -d "${DOTWRYN}" ] || {
echo "ERROR : cannot determine \$DOTWRYN location" >&2
return 1
}
: \
&& source "$HOME/.config/wryn/env.zsh" \
&& [ "$DOTWRYN" ] \
&& [ -d "$DOTWRYN" ] \
&& source "${DOTWRYN}/config/dotwryn.env.zsh" \
&& source "${XDG_CONFIG_HOME:-${HOME}/.config}/wryn/env.zsh" \
;

View File

@ -0,0 +1,43 @@
#####################################################################
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_STATE_HOME="${HOME}/.local/state"
export XDG_RUNTIME_DIR="/run/user/${UID}"
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export XDG_CONFIG_DIRS=/etc/xdg
#####################################################################
export AWS_CONFIG_FILE="${XDG_DATA_HOME}/aws/config"
export AWS_SHARED_CREDENTIALS_FILE="${XDG_DATA_HOME}/aws/credentials"
export CARGO_HOME="${XDG_DATA_HOME}/cargo"
export GNUPGHOME="${XDG_DATA_HOME}/gnupg"
export GOPATH="${XDG_DATA_HOME}/go"
export NPM_CONFIG_USERCONFIG="${XDG_CONFIG_HOME}/npm/npmrc"
export PYTHONPYCACHEPREFIX="${XDG_CACHE_HOME}/python"
export PYTHONUSERBASE="${XDG_DATA_HOME}/python"
export PYTHON_HISTORY="${XDG_STATE_HOME}/python/history"
export RUSTUP_HOME="${XDG_DATA_HOME}/rustup"
export TERMINFO="${XDG_DATA_HOME}/terminfo"
export TERMINFO_DIRS="${XDG_DATA_HOME}/terminfo:/usr/share/terminfo"
export XAUTHORITY="${XDG_RUNTIME_DIR}/Xauthority"
export XINITRC="${XDG_CONFIG_HOME}/X11/xinitrc"
export XSERVERRC="${XDG_CONFIG_HOME}/X11/xserverrc"
export _Z_DATA="${XDG_DATA_HOME}/z"
#####################################################################
for __SETUP_DIR in \
"${XDG_STATE_HOME}/zsh" \
"${XDG_STATE_HOME}/python" \
"$(dirname -- "${AWS_CONFIG_FILE}")" \
"$(dirname -- "${NPM_CONFIG_USERCONFIG}")" \
;
do
[ -d "${__SETUP_DIR}" ] || mkdir -p -- "${__SETUP_DIR}"
done
unset __SETUP_DIR

View File

@ -1,6 +1,6 @@
#####################################################################
HISTFILE=~/.local/zsh.history
HISTFILE="${XDG_STATE_HOME}/zsh/history"
HISTSIZE=10000
SAVEHIST=10000
@ -18,11 +18,12 @@ bindkey -M vicmd v edit-command-line
# zsh auto/tab-completion engine
zmodload -i zsh/complist
autoload -Uz compinit
compinit
compinit -d "${XDG_CACHE_HOME}/zsh/zcompdump-${ZSH_VERSION}"
zstyle ':completion:*' completer _complete _ignored _approximate
zstyle ':completion:*' max-errors 1
zstyle ':completion:*' menu select
zstyle ':completion:*' cache-path "${XDG_CACHE_HOME}/zsh/zcompcache"
bindkey -M menuselect '^M' .accept-line
#####################################################################

View File

@ -1,9 +1,5 @@
#####################################################################
# I hate the default "$HOME/go" go path; hide it away
[ $GOPATH ] \
|| export GOPATH="$HOME/.local/go"
# not sure if this is needed anymore since I've moved to alacritty,
# but leaving this here since it was obnoxious to find
which kitty &>/dev/null \
@ -11,9 +7,7 @@ which kitty &>/dev/null \
# many tmux workflows like to interact with the X-server; however,
# the tmux sessions frequently start before the X-session
[[ $TERM =~ tmux ]] && [ ! $DISPLAY ] && export DISPLAY=:0
#RIPGREP_CONFIG_PATH="$HOME/.config/ripgrep/config"
[[ ${TERM} =~ tmux ]] && [ ! ${DISPLAY} ] && export DISPLAY=:0
#####################################################################
return 0

View File

@ -1,7 +1,7 @@
#####################################################################
ZSH_PLUGINS+=($(
find "$(readlink -f -- "$HOME/.local/zsh")" -type f 2>/dev/null
find "$(readlink -f -- "${XDG_DATA_HOME:-${HOME}/.local/share}/zsh")" -type f 2>/dev/null
))
#####################################################################

View File

@ -1,9 +1,9 @@
() { # create path entries
local PATH_ENTRY
for PATH_ENTRY in \
"$HOME/.local/bin" \
"$(go env GOPATH 2>/dev/null)/bin" \
"$HOME/.$(hostnamectl --static)" \
"${HOME}/.local/bin" \
"${HOME}/.local/share/$(hostnamectl --static)" \
"${GOPATH}/bin" \
;
do
echo "$PATH" | sed 's/:/\n/g' | grep -q "^$PATH_ENTRY$" \

View File

@ -0,0 +1,4 @@
find "${HOME}/.1password/agent.sock" &>/dev/null \
&& export SSH_AUTH_SOCK="${HOME}/.1password/agent.sock"
return 0