fix(cli): ignore system/user git configs

So they don't interfere with straight in odd, unpredictable ways. If
you *really* know what you're doing, set DOOMGITCONFIG to the path of a
gitconfig file. This envvar may be renamed in the future, however.

Close: #5640
Co-authored-by: M. Yas. Davoodeh <Davoodeh@users.noreply.github.com>
This commit is contained in:
Henrik Lissner 2022-03-31 01:03:21 +02:00
parent c36d1702fb
commit a9c22b704b
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
2 changed files with 4 additions and 1 deletions

View file

@ -2,6 +2,9 @@
:; set -e # -*- mode: emacs-lisp; lexical-binding: t -*-
:; case "$EMACS" in *term*) EMACS=emacs ;; *) EMACS="${EMACS:-emacs}" ;; esac
:; $EMACS --version >/dev/null 2>&1 || { >&2 echo "Can't find emacs in your PATH"; exit 1; }
:; unset GIT_CONFIG
:; export GIT_CONFIG_NOSYSTEM=1
:; export GIT_CONFIG_GLOBAL="${DOOMGITCONFIG:-/dev/null}"
:; $EMACS --no-site-file --script "$0" -- "$@" || __DOOMCODE=$?
:; [ "${__DOOMCODE:-0}" -eq 128 ] && { sh "`$EMACS -Q --batch --eval '(princ temporary-file-directory)'`/doom.sh" "$0" "$@" && true; __DOOMCODE=$?; }
:; exit $__DOOMCODE

View file

@ -59,7 +59,7 @@ Why this over exec-path-from-shell?
(defvar doom-env-blacklist
'(;; State that may be problematic if overwritten
"^HOME$" "^\\(OLD\\)?PWD$" "^SHLVL$" "^PS1$" "^R?PROMPT$" "^TERM\\(CAP\\)?$"
"^USER$"
"^USER$" "^GIT_CONFIG"
;; X server or services' variables that shouldn't be persisted
"^DISPLAY$" "^DBUS_SESSION_BUS_ADDRESS$" "^XAUTHORITY$" "^XDG_SESSION_TYPE$"
;; Windows+WSL envvars that shouldn't be persisted