From 785a8e8eb70212b6f6abc948e729c4e981e189b0 Mon Sep 17 00:00:00 2001 From: Ismo Vuorinen Date: Sun, 8 Feb 2026 01:11:55 +0200 Subject: [PATCH] fix(exports): prevent set -e abort when optional files are missing Replace `[ -f ] && source` with `if/then/fi` for conditional source lines so the file returns 0 even when optional exports files don't exist. Also use `${VAR:-}` for XDG defaults to avoid set -u failures. --- config/exports | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/config/exports b/config/exports index 7796055..711bbdb 100755 --- a/config/exports +++ b/config/exports @@ -4,15 +4,15 @@ # Set XDG directories if not already set # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html -[ -z "$XDG_CONFIG_HOME" ] && export XDG_CONFIG_HOME="$HOME/.config" -[ -z "$XDG_DATA_HOME" ] && export XDG_DATA_HOME="$HOME/.local/share" -[ -z "$XDG_CACHE_HOME" ] && export XDG_CACHE_HOME="$HOME/.cache" -[ -z "$XDG_STATE_HOME" ] && export XDG_STATE_HOME="$HOME/.local/state" -[ -z "$XDG_BIN_HOME" ] && export XDG_BIN_HOME="$HOME/.local/bin" -[ -z "$XDG_RUNTIME_DIR" ] && export XDG_RUNTIME_DIR="$HOME/.local/run" +[ -z "${XDG_CONFIG_HOME:-}" ] && export XDG_CONFIG_HOME="$HOME/.config" +[ -z "${XDG_DATA_HOME:-}" ] && export XDG_DATA_HOME="$HOME/.local/share" +[ -z "${XDG_CACHE_HOME:-}" ] && export XDG_CACHE_HOME="$HOME/.cache" +[ -z "${XDG_STATE_HOME:-}" ] && export XDG_STATE_HOME="$HOME/.local/state" +[ -z "${XDG_BIN_HOME:-}" ] && export XDG_BIN_HOME="$HOME/.local/bin" +[ -z "${XDG_RUNTIME_DIR:-}" ] && export XDG_RUNTIME_DIR="$HOME/.local/run" # if DOTFILES is not set, set it to the default location -[ -z "$DOTFILES" ] && export DOTFILES="$HOME/.dotfiles" +[ -z "${DOTFILES:-}" ] && export DOTFILES="$HOME/.dotfiles" export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$XDG_DATA_HOME/bob/nvim-bin:$XDG_DATA_HOME/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH" @@ -448,9 +448,9 @@ export ZSHZ_DATA="$XDG_STATE_HOME/z" export CHEAT_USE_FZF=true export SQLITE_HISTORY="${XDG_CACHE_HOME}/sqlite_history" -[ -f "$XDG_CONFIG_HOME/exports-secret" ] && source "$XDG_CONFIG_HOME/exports-secret" -[ -f "$XDG_CONFIG_HOME/exports-local" ] && source "$XDG_CONFIG_HOME/exports-local" +if [ -f "$XDG_CONFIG_HOME/exports-secret" ]; then source "$XDG_CONFIG_HOME/exports-secret"; fi +if [ -f "$XDG_CONFIG_HOME/exports-local" ]; then source "$XDG_CONFIG_HOME/exports-local"; fi # shellcheck source=./exports-lakka -[ -f "$XDG_CONFIG_HOME/exports-$(hostname)" ] && source "$XDG_CONFIG_HOME/exports-$(hostname)" +if [ -f "$XDG_CONFIG_HOME/exports-$(hostname)" ]; then source "$XDG_CONFIG_HOME/exports-$(hostname)"; fi # shellcheck source=./exports-lakka-secret -[ -f "$XDG_CONFIG_HOME/exports-$(hostname)-secret" ] && source "$XDG_CONFIG_HOME/exports-$(hostname)-secret" +if [ -f "$XDG_CONFIG_HOME/exports-$(hostname)-secret" ]; then source "$XDG_CONFIG_HOME/exports-$(hostname)-secret"; fi