Compare commits
5 commits
f00062ec1b
...
3eec157285
Author | SHA1 | Date | |
---|---|---|---|
3eec157285 | |||
efb24fc3f6 | |||
8bbc4bd3f2 | |||
c55664cce3 | |||
690df57f00 |
2 changed files with 44 additions and 2 deletions
|
@ -2,14 +2,24 @@
|
|||
|
||||
local -a newbins
|
||||
|
||||
# docker
|
||||
export DOCKER_CONFIG=$XDG_CONFIG_HOME/docker
|
||||
|
||||
# go
|
||||
[[ -z $GOPATH ]] && export GOPATH=~/.go
|
||||
newbins+=(~/.go/bin)
|
||||
[[ -z $GOPATH ]] && export GOPATH=$XDG_DATA_HOME/go
|
||||
newbins+=($XDG_DATA_HOME/go/bin)
|
||||
|
||||
# haskell
|
||||
newbins+=(~/.cabal/bin ~/Library/Haskell/bin)
|
||||
export STACK_ROOT=$XDG_DATA_HOME/stack
|
||||
|
||||
# less
|
||||
# not exactly a 'lang' but still
|
||||
export LESSHISTFILE=$XDG_DATA_HOME/less/history
|
||||
|
||||
# mysql
|
||||
export MYSQL_HISTFILE=$XDG_DATA_HOME/mysql/history
|
||||
|
||||
# o'caml
|
||||
export OPAMROOT=$XDG_DATA_HOME/opam
|
||||
[[ -f $OPAMROOT/opam-init/init.zsh ]] && source $OPAMROOT/opam-init/init.zsh
|
||||
|
@ -23,6 +33,9 @@ fi
|
|||
|
||||
# ruby
|
||||
newbins+=(~/.gem/ruby/*/bin(N) /usr/local/opt/ruby/bin /usr/local/lib/ruby/gems/*/bin(N))
|
||||
export BUNDLE_USER_CONFIG=$XDG_CONFIG_HOME/bundle
|
||||
export BUNDLE_USER_CACHE=$XDG_CACHE_HOME/bundle
|
||||
export BUNDLE_USER_PLUGIN=$XDG_DATA_HOME/bundle
|
||||
|
||||
# rust
|
||||
export CARGO_HOME=$XDG_DATA_HOME/cargo
|
||||
|
@ -45,6 +58,9 @@ export PHIVE_HOME=$XDG_DATA_HOME/phive
|
|||
# there you go, I guess.
|
||||
newbins+=($XDG_CONFIG_HOME/composer/vendor/bin)
|
||||
|
||||
# postgres
|
||||
export PSQL_HISTORY=$XDG_DATA_HOME/psql/history
|
||||
|
||||
# python
|
||||
export -UT PYTHONPATH pythonpath
|
||||
newbins+=(~/Library/Python/*/bin(N))
|
||||
|
@ -54,4 +70,10 @@ export PYENV_ROOT=$XDG_DATA_HOME/pyenv
|
|||
export PYENV_SHELL=zsh
|
||||
newbins+=($XDG_DATA_HOME/pyenv/shims $HOME/.poetry/bin)
|
||||
|
||||
# redis
|
||||
export REDISCLI_HISTFILE=$XDG_DATA_HOME/redis/rediscli_history
|
||||
|
||||
# sqlite
|
||||
export SQLITE_HISTORY=$XDG_DATA_HOME/sqlite/history
|
||||
|
||||
path=($newbins $path)
|
||||
|
|
20
zshenv
20
zshenv
|
@ -6,6 +6,26 @@
|
|||
|
||||
export XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_STATE_HOME
|
||||
|
||||
# The other four XDG directories are very easy, but XDG_RUNTIME_DIR is
|
||||
# complicated. It kinda needs to be managed by a systemwide supervisor, like
|
||||
# systemd, in order to meet all of the XDG Base Directory specification's
|
||||
# requirements? In particular, the directory is supposed to come into being
|
||||
# when you log in, live as long as you have any active sessions, and be
|
||||
# destroyed when you log out - none of this can easily be done from the shell
|
||||
# environment alone, especially on an operating system like macOS where your
|
||||
# graphical session wasn't spawned from a shell using something like .xinitrc.
|
||||
#
|
||||
# We're going to assume XDG_RUNTIME_DIR will have already be set by a
|
||||
# systemwide supervisor if it can possibly have been. If it hasn't - say,
|
||||
# because we're on macOS - we'll compromise by using TMPDIR. Since TMPDIR has
|
||||
# a different lifetime than XDG_RUNTIME_DIR is supposed to, this is an
|
||||
# imperfect solution, but it's the best we can do.
|
||||
if [[ ! -d $XDG_RUNTIME_DIR ]] && [[ -d $TMPDIR ]]; then
|
||||
export XDG_RUNTIME_DIR=${TMPDIR}xdg-$UID
|
||||
mkdir -p $XDG_RUNTIME_DIR
|
||||
chmod 0700 $XDG_RUNTIME_DIR
|
||||
fi
|
||||
|
||||
# The real zsh config lives in XDG_CONFIG_HOME! ;)
|
||||
: ${ZDOTDIR:=$XDG_CONFIG_HOME/zsh}
|
||||
source $ZDOTDIR/zshenv
|
||||
|
|
Loading…
Reference in a new issue