env: make nixvim the default editor if it exists in the right spot

This commit is contained in:
PowerUser64 2024-09-10 17:57:51 -07:00
parent bda5105914
commit bb275bc11e

View file

@ -3,11 +3,54 @@
# This file should be compatible with standard sh
# shellcheck disable=SC2034
export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"${XDG_CONFIG_HOME:-"$HOME/.config"}/shell"}"
# path_append from https://superuser.com/questions/39751/add-directory-to-path-if-its-not-already-there
# checks if a path is already in the PATH and if it exists
path_append() {
if [ -d "$1" ]; then
# posix SH doesn't have [[, so we skip testing if the path is already in the PATH for simplicity
# shellcheck disable=SC3010
if command '[[' > /dev/null 2>&1 && [[ ":$PATH:" != *":$1:"* ]]; then
PATH="${PATH:+"$PATH:"}$1"
else
PATH="$PATH:$1"
fi
fi
}
path_prepend() {
if [ -d "$1" ]; then
# posix SH doesn't have [[, so we skip testing if the path is in the PATH already for simplicity
# shellcheck disable=SC3010
if command '[[' > /dev/null 2>&1 && [[ ":$PATH:" != *":$1:"* ]]; then
PATH="$1${PATH:+":$PATH"}"
else
PATH="$1:$PATH"
fi
fi
}
# these would be temp vars, but ZSH does something weird where it makes them evaluate at runtime instead of
export CONFIG_HOME="${XDG_DATA_HOME:-$HOME/.config}"
export CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
export DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
export LOCAL_HOME="$HOME/.local"
export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"$CONFIG_HOME/shell"}"
if ! [ -d "$SHELL_CONFIG_DIR" ]; then
echo "FATAL ERROR: \$SHELL_CONFIG_DIR is not set to a real directory: $SHELL_CONFIG_DIR" >&2
fi
## PATH MODIFICATION
# add local bin path and shell bin path to PATH
path_append "$LOCAL_HOME/bin"
# add shell bin files
path_append "$SHELL_CONFIG_DIR/bin"
# add doom emacs bin folder to path if it exists
path_append "$CONFIG_HOME/emacs/bin"
# add nixvim path if it exists
path_prepend "/home/blake/code/nixvim-config/result/bin"
export PATH
if [ -z "$PROFILE_LOADED" ] && [ -f ~/.profile ]; then
# shellcheck source=/home/blake/.profile
. ~/.profile
@ -26,14 +69,6 @@ fi
export SYSTEMD_EDITOR="$EDITOR"
export VISUAL="$EDITOR"
# Add local bin path and shell bin path to PATH
export PATH="$PATH:${XDG_DATA_HOME:-$HOME/.local}/bin:$SHELL_CONFIG_DIR/bin"
# Add doom emacs bin folder to path if it exists
doom_bin_dir="${XDG_DATA_HOME:-$HOME/.config}/emacs/bin"
if [ -d "$doom_bin_dir" ]; then export PATH="$PATH:$doom_bin_dir"; fi
unset doom_bin_dir
# Tell zellij to auto attach by default instead of opening a new session
export ZELLIJ_AUTO_ATTACH=true
@ -54,13 +89,13 @@ export MANPAGER="less -R --use-color -Dd+g -Du+b"
COLOR_SCHEME=tokyonight
# move zsh cache to where it should go
export ZSH_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/zsh"
export ZSH_CACHE_DIR="$CACHE_HOME/zsh"
# Don't add extra space to the right side of the prompt
export ZLE_RPROMPT_INDENT=0
# Move zinit to where it should go
export ZINIT_HOME_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/zinit"
export ZINIT_HOME_DIR="$DATA_HOME/zinit"
# Add cargo to PATH if it exists
[ -d "$HOME/.cargo/bin" ] && export PATH="$PATH:$HOME/.cargo/bin"
@ -80,7 +115,7 @@ if [ -d "/etc/nixos" ]; then
fi
## Working directory save settings (see things at bottom of zshrc)
WORKING_DIR_SAVE_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/last-working-dir"
WORKING_DIR_SAVE_FILE="$CACHE_HOME/zsh/last-working-dir"
# make the dir for the file if needed
test -d "$(dirname "$WORKING_DIR_SAVE_FILE")" || mkdir -p "$(dirname "$WORKING_DIR_SAVE_FILE")"
@ -118,6 +153,7 @@ DD="$DOCS_DIR"
C=~/code/spu/ds2/src
N="${NIXOS_DIR:-}"
DP=~/'Documents/0 D'i'gi'P'e'n
DPC="$DP/classes"
export S SS # this makes it easier to load the shrc while in posix sh