dotfiles/home/dot_zshenv.tmpl

100 lines
2 KiB
Cheetah

# Browser
if [[ "$OSTYPE" == darwin* ]]; then
export BROWSER='open'
fi
# Editors
export EDITOR='hx'
export VISUAL='hx'
export PAGER='less'
# Language
if [[ -z "$LANG" ]]; then
export LANG='en_US.UTF-8'
fi
# Less
# Set the default Less options.
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
# Remove -X and -F (exit if the content fits on one screen) to enable it.
export LESS='-F -g -i -M -R -S -w -X -z-4'
# Set the Less input preprocessor.
if (( $+commands[lesspipe.sh] )); then
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
fi
# Temporary Files
if [[ ! -d "$TMPDIR" ]]; then
export TMPDIR="/tmp/$USER"
mkdir -p -m 700 "$TMPDIR"
fi
TMPPREFIX="${TMPDIR%/}/zsh"
if [[ ! -d "$TMPPREFIX" ]]; then
mkdir -p "$TMPPREFIX"
fi
# Paths
typeset -gU cdpath fpath mailpath path
check_paths=(
# rust
$HOME/.cargo/bin
$HOME/.cargo/env
# npm
$HOME/.npm-packages/bin
# yarn
$HOME/.yarn/bin
$HOME/.config/yarn/global/node_modules/.bin
# WSL
# /mnt/c/windows
# /mnt/c/windows/system32
# home
$HOME/bin
# go
$HOME/go/bin
# pixi
$HOME/.pixi/bin
# homebrew
/opt/homebrew/bin
# uv
$HOME/.local/bin
# lm studio
$HOME/.lmstudio/bin
{{ join .chezmoi.sourceDir "encrypted_dot_work_paths.age" | include | decrypt -}}
)
for fp in $check_paths; do
if [[ -s "$fp" ]]; then
path+=("$fp")
fi
done
export -U PATH
export NVM_DIR="$HOME/.nvm"
export XDG_CONFIG_HOME=$HOME/.config
export JJ_CONFIG=$XDG_CONFIG_HOME/jj/config.toml
export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc
export FZF_DEFAULT_COMMAND="rg --files --hidden"
export FZF_DEFAULT_OPTS=" \
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \
--color=selected-bg:#45475a \
--color=border:#313244,label:#cdd6f4"
alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -"
alias khal='uvx khal "$@"'
alias todoman='uvx --from todoman todo "$@"'