From 779a43bf7004e824ded0d0fa024b577930da4c82 Mon Sep 17 00:00:00 2001 From: xs Date: Thu, 5 Nov 2026 10:47:53 +0800 Subject: setup.sh: vimrc goes to /etc only, refuse ~/.vimrc and ~/.tmux.conf vimlsp copies core/vimrc to /etc/vimrc (or /etc/vim/vimrc, as core/vim.sh) instead of ~/.vimrc, and stops if a ~/.vimrc exists. The main flow stops if a ~/.tmux.conf exists. Both would load on top of the /etc file. --- setup.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setup.sh b/setup.sh index d33733d..829c520 100755 --- a/setup.sh +++ b/setup.sh @@ -12,12 +12,11 @@ vimlsp() { VIMRC_SRC="$SCRIPT_DIR/core/vimrc" export PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH" - # vimrc: plain copy into ~/.vimrc, back up a different existing one - if [ -f ~/.vimrc ] && ! cmp -s "$VIMRC_SRC" ~/.vimrc; then - cp ~/.vimrc ~/.vimrc.bak-"$(date +%F)"; ok "backed up ~/.vimrc to ~/.vimrc.bak-$(date +%F)" - fi - cmp -s "$VIMRC_SRC" ~/.vimrc || cp "$VIMRC_SRC" ~/.vimrc - { cmp -s "$VIMRC_SRC" ~/.vimrc && [ ! -L ~/.vimrc ]; } || die "~/.vimrc"; ok "~/.vimrc matches core/vimrc" + # vimrc: system-wide only (same path as core/vim.sh); a ~/.vimrc would load on top of it + VIMRC_DST=/etc/vimrc; [ -d /etc/vim ] && VIMRC_DST=/etc/vim/vimrc + cmp -s "$VIMRC_SRC" "$VIMRC_DST" || sudo cp "$VIMRC_SRC" "$VIMRC_DST" + cmp -s "$VIMRC_SRC" "$VIMRC_DST" || die "$VIMRC_DST"; ok "$VIMRC_DST matches core/vimrc" + [ ! -e ~/.vimrc ] || die "~/.vimrc exists and overrides $VIMRC_DST; remove it"; ok "no ~/.vimrc" # vim-plug [ -f ~/.vim/autoload/plug.vim ] || curl -fsSLo ~/.vim/autoload/plug.vim --create-dirs \ @@ -69,6 +68,7 @@ sudo bash ./core/ssh.sh || { echo "Failed to configure SSH"; exit 1 sudo bash ./core/install-packages.sh || { echo "Failed to install packages"; exit 1; } sudo bash ./core/vim.sh || { echo "Failed to configure Vim"; exit 1; } sudo bash ./core/tmux.sh || { echo "Failed to configure Tmux"; exit 1; } +[ ! -e ~/.tmux.conf ] || { echo "~/.tmux.conf exists and overrides /etc/tmux.conf; remove it"; exit 1; } # Vim LSP setup for the invoking user ( vimlsp ) || { echo "Failed to set up vim LSP"; exit 1; } -- cgit