From b3007ee23d5615dba95529d50979dee138da6477 Mon Sep 17 00:00:00 2001 From: Pratik Tripathy Date: Fri, 5 Jul 2024 17:31:08 +0530 Subject: [PATCH] feature: more dotfile types moved from HOME to XDG_* - Python: history, cache, userbase moved - Dotnet: Nuget, monisharp moved - Postgres: psql_history, config, password, rc files moved - Zsh: Retry at moving .zshcompdump file --- common/.profile | 60 ++++++++++++++++++++++++++++--------------------- common/.zshrc | 11 +++++---- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/common/.profile b/common/.profile index bfc8546..e32b6af 100644 --- a/common/.profile +++ b/common/.profile @@ -31,8 +31,8 @@ eval "$(ssh-agent -s)" >/dev/null # shellcheck disable=SC3045 ulimit -n 10240 -[ ! -f "$XDG_CONFIG_HOME/templates/.gitignore" ] || export GITIGNORE_TEMPLATE="$XDG_CONFIG_HOME/templates/.gitignore" -[ ! -f "$XDG_CONFIG_HOME/templates/.prettierrc" ] || export PRETTIER_TEMPLATE="$XDG_CONFIG_HOME/templates/.prettierrc" +[ ! -f "${XDG_CONFIG_HOME}/templates/.gitignore" ] || export GITIGNORE_TEMPLATE="${XDG_CONFIG_HOME}/templates/.gitignore" +[ ! -f "${XDG_CONFIG_HOME}/templates/.prettierrc" ] || export PRETTIER_TEMPLATE="${XDG_CONFIG_HOME}/templates/.prettierrc" EDITOR=$(command -v nvim 2>/dev/null || command -v vim 2>/dev/null) export EDITOR @@ -42,10 +42,10 @@ export VISUAL="$EDITOR" # To disable ~/.oracle_jre_usage/ from being created if [ "$(uname -s)" = "Linux" ]; then - export __GL_SHADER_DISK_CACHE_PATH="$XDG_CACHE_HOME/nvidia" + export __GL_SHADER_DISK_CACHE_PATH="${XDG_CACHE_HOME}/nvidia" # Needs upstream fix to work: https://bugs.kde.org/show_bug.cgi?id=415770 - export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc":"$XDG_CONFIG_HOME/gtk-2.0/gtkrc.mine" + export GTK2_RC_FILES="${XDG_CONFIG_HOME}/gtk-2.0/gtkrc":"${XDG_CONFIG_HOME}/gtk-2.0/gtkrc.mine" export CUDA_CACHE_PATH="XDG_CACHE_HOME/nv" # Map caps-lock to escape TIP: also added to /etc/profile @@ -55,57 +55,67 @@ fi export QT_PLUGIN_PATH="$HOME/local/lib/qt/plugins/:" if [ "$XDG_SESSION_DESKTOP" = "KDE" ]; then - export KDEHOME="$XDG_CONFIG_HOME/KDE" + export KDEHOME="${XDG_CONFIG_HOME}/KDE" fi -export GNUPGHOME="$XDG_CONFIG_HOME/gnupg" -export LESSHISTFILE="$XDG_STATE_HOME/shell/lesshst" -export WGETRC="$XDG_CONFIG_HOME/wgetrc" +export GNUPGHOME="${XDG_CONFIG_HOME}/gnupg" +export LESSHISTFILE="${XDG_STATE_HOME}/shell/lesshst" +export WGETRC="${XDG_CONFIG_HOME}/wgetrc" # Move the Android device keys to .config (TODO: This needs to be tested) -export ADB_VENDOR_KEYS="$XDG_CONFIG_HOME/android" +export ADB_VENDOR_KEYS="${XDG_CONFIG_HOME}/android" # Setup Python -export PYENV_ROOT="$XDG_DATA_HOME/pyenv" +export PYTHON_HISTORY="${XDG_STATE_HOME}/shell/python_history" # will be picked up by Python 3.13+ +export PYTHONPYCACHEPREFIX="${XDG_CACHE_HOME}/python" +export PYTHONUSERBASE="${XDG_DATA_HOME}/python" +export PYENV_ROOT="${XDG_DATA_HOME}/pyenv" command -v pyenv >/dev/null && export PATH="$PATH:$PYENV_ROOT/bin:$PYENV_ROOT/shims" command -v pyenv >/dev/null && eval "$(pyenv init -)" -export PYTHON_HISTORY="$XDG_STATE_HOME/shell/python_history" # will be picked up by Python 3.13+ # Setup Rust -export CARGO_HOME="$XDG_DATA_HOME/rust/cargo" -export RUSTUP_HOME="$XDG_DATA_HOME/rust/rustup" +export CARGO_HOME="${XDG_DATA_HOME}/rust/cargo" +export RUSTUP_HOME="${XDG_DATA_HOME}/rust/rustup" export PATH="$PATH:$CARGO_HOME/bin" export RUSTC_WRAPPER=sccache export SCCACHE_CACHE_SIZE="20G" # Setup DotNet export DOTNET_CLI_TELEMETRY_OPTOUT=1 -export DOTNET_CLI_HOME="$XDG_CONFIG_HOME/dotnet" -export DOTNET_TOOLS_PATH="$XDG_DATA_HOME/dotnet" +export DOTNET_CLI_HOME="${XDG_CONFIG_HOME}/dotnet" +export DOTNET_TOOLS_PATH="${XDG_DATA_HOME}/dotnet" +export NUGET_PACKAGES="${XDG_CACHE_HOME}/NuGetPackages" +export OMNISHARPHOME="${XDG_CONFIG_HOME}/omnisharp" + +# Postgres +export PSQLRC="${XDG_CONFIG_HOME}/postgres/psqlrc" +export PGPASSFILE="${XDG_CONFIG_HOME}/postgres/pgpass" +export PGSERVICEFILE="${XDG_CONFIG_HOME}/postgres/pg_service.conf" +export PSQL_HISTORY="${XDG_STATE_HOME}/psql_history" # Go export GOPATH=/media/pratik/Projects/DevSetUps/gopath/ # FIX: BELOW DID NOT WORK: added to /etc/profile, need to recheck on reboot -# alias code="code --extensions-dir $XDG_DATA_HOME/vscode" +# alias code="code --extensions-dir ${XDG_DATA_HOME}/vscode" # Java -export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java" +export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="${XDG_CONFIG_HOME}/java" # Setup Node & n -export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/node/npmrc" -export NODE_REPL_HISTORY="$XDG_CONFIG_HOME/node/node_repl_history" -export N_PREFIX="$XDG_DATA_HOME/n_node" +export NPM_CONFIG_USERCONFIG="${XDG_CONFIG_HOME}/node/npmrc" +export NODE_REPL_HISTORY="${XDG_CONFIG_HOME}/node/node_repl_history" +export N_PREFIX="${XDG_DATA_HOME}/n_node" export PATH="$N_PREFIX/bin:$PATH" -export AWS_CONFIG_FILE="$XDG_CONFIG_HOME/aws/config" -export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME/aws/credentials" +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 DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker" export FZF_DEFAULT_COMMAND='rg --files --hidden' export FZF_DEFAULT_OPTS='--layout=reverse --cycle --inline-info --height=~50% --border' -export TLDR_CACHE_DIR="$XDG_CACHE_HOME/tldr" +export TLDR_CACHE_DIR="${XDG_CACHE_HOME}/tldr" -export OLLAMA_HOME="$XDG_CONFIG_HOME/ollama" +export OLLAMA_HOME="${XDG_CONFIG_HOME}/ollama" diff --git a/common/.zshrc b/common/.zshrc index f4a3c20..4fc8d27 100644 --- a/common/.zshrc +++ b/common/.zshrc @@ -81,18 +81,21 @@ zi ice as"completion" zi snippet OMZP::fd/_fd # ZSH Auto-completion settings -[ -d "${XDG_CACHE_HOME}/zsh" ] || mkdir -p "${XDG_CACHE_HOME}/zsh" -ZCOMP_CACHE_FILE="${XDG_CACHE_HOME}/zsh/zcompcache" autoload -Uz compinit -compinit -d "${XDG_CACHE_HOME}/zsh/zcompdump-${ZSH_VERSION}" _comp_options+=(globdots) # Include hidden files zmodload zsh/complist zinit cdreplay -q +# Completion files: Use XDG dirs +ZCOMP_CACHE_HOME="${XDG_CACHE_HOME}/zsh" +ZCOMP_CACHE_FILE="${ZCOMP_CACHE_HOME}/zcompcache" +[ -d "${ZCOMP_CACHE_HOME}" ] || mkdir -p "${ZCOMP_CACHE_HOME}" +zstyle ':completion:*' cache-path "$ZCOMP_CACHE_FILE" +compinit -d "${ZCOMP_CACHE_HOME}/zcompdump-${ZSH_VERSION}" + # Completion styling zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' # Case INsensitive completion match zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Add color to completion suggestions -zstyle ':completion:*' cache-path "$ZCOMP_CACHE_FILE" zstyle ':completion::complete:*' gain-privileges 1 menu select cache-path "$ZCOMP_CACHE_FILE" # To customize prompt, run `p10k configure`