X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/0176bb959db5444fa8db3a5b4887e629287fe010..d569f3f7ac829693addfdc8ed656e70d80d7d467:/base/.zshenv?ds=sidebyside diff --git a/base/.zshenv b/base/.zshenv index 9fa140f..819eb70 100644 --- a/base/.zshenv +++ b/base/.zshenv @@ -1,46 +1,57 @@ -### path -# /usr/{pkg,local,games} are unix/bsdisms -typeset -U path -path=({~/,/,/usr/}sbin {~/,/,/usr/}bin /usr/pkg/{s,}bin /usr/X11R{7,6}/bin - /usr/local/{s,}bin /usr/games $path) +### exports for new non-interactive shell +if [[ $SHLVL == 1 ]] { + ## lang + export CHARSET=UTF-8 + export LANG="en_US.UTF-8" + export LC_CTYPE="$LANG" -### posix -export EDITOR=vim -export PAGER=less -export GREP_OPTIONS=--color=auto -export LANG="en_US.UTF-8" -export LC_CTYPE="$LANG" + ## path + # /usr/{pkg,local,games} are unix/bsdisms + typeset -U PATH path + path=({~/,/,/usr/}sbin {~/,/,/usr/}bin /usr/pkg/{s,}bin /usr/X11R{7,6}/bin + /usr/local/{s,}bin /usr/games "${path[@]}") + export PATH + typeset -U _sev_backup_path + _sev_backup_path=("${path[@]}") + typeset -U FPATH fpath + fpath=(${ZDOTDIR:-$HOME/.zsh}/functions/{*,Completions/*}(N) "${fpath[@]}") + export FPATH -### xdg -export XDG_CONFIG_HOME=~/etc -export XDG_CONFIG_DIRS=~/.config:/usr/pkg/etc/xdg:/usr/local/etc/xdg:/etc/xdg -export XDG_DATA_HOME=~/share -export XDG_DATA_DIRS=~/.local/share:/usr/pkg/share:/usr/local/share:/usr/share -export XDG_CACHE_HOME=~/tmp -export XDG_RUNTIME_DIR=~/tmp + ## xdg + export XDG_CONFIG_HOME=~/etc + export XDG_CONFIG_DIRS=~/.config:/usr/pkg/etc/xdg:/usr/local/etc/xdg:/etc/xdg + export XDG_DATA_HOME=~/share + export XDG_DATA_DIRS=~/.local/share:/usr/pkg/share:/usr/local/share:/usr/share + export XDG_CACHE_HOME=~/tmp + export XDG_RUNTIME_DIR=~/tmp -### applications -export PYTHONSTARTUP=~/.pythonrc -## perl -(( ${+commands[perl]} )) && eval $(perl -I $XDG_DATA_HOME/perl5/lib/perl5 -Mlocal::lib=$XDG_DATA_HOME/perl5) -## gpg -if (( ${+commands[gpg]} )) { - export GPG_TTY=$(tty) - if [[ ! -v SSH_AUTH_SOCK ]] { - # set up SSH auth socket and start GPG agent - export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) - } - gpg-connect-agent updatestartuptty /bye >/dev/null + # create tmp link + t="${TMPDIR:-/tmp}/home-$LOGNAME" + h="$HOME/tmp" + if [[ ! -e "$t" ]] { + mkdir -m 700 "$t" > /dev/null 2>&1 + # TODO: check if dir exists after mkdir + } + # allow opaque entries to override link creation + if [[ ! -e "$h" ]] { + ln -sf "$t" "$h" > /dev/null 2>&1 + } + unset t h } -### freebsd -if [[ "$OSTYPE" =~ "^freebsd" ]] { - export CLICOLOR= - export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' +### gpg ssh forwarding +# these env vars are used as arguments to RemoteForward in ~/.ssh/config +if [[ -v commands[gpgconf] && ! ( -v _GNUPG_SOCK_SRC && -v _GNUPG_SOCK_DEST ) ]] { + # if already connected over SSH, reuse forwarded socket for future + # connections; else use extra socket + sock=${SSH_CLIENT:+agent-socket} + export _GNUPG_SOCK_SRC=$(gpgconf --list-dirs ${sock:-agent-extra-socket}) + # XXX: chance of race condition + export _GNUPG_SOCK_DEST=/tmp/.gpg-agent-forward + unset sock } ### load site-specific -if [[ -f ~/.zshenv.local ]] && [[ ! -v _ZSHENV_LOADED ]] { - export _ZSHENV_LOADED= - source ~/.zshenv.local -} +if [[ -f ~/.zshenv.local ]] { source ~/.zshenv.local } + +# vim: set et sts=4 sw=4 ts=8 tw=79 :