-export PATH=$HOME/bin:$HOME/.local/bin:$HOME/go/bin:/snap/bin:/sbin:/usr/sbin:$PATH
export EDITOR=vim
export VISUAL=$EDITOR
-export DIR_GITHUB="${HOME}/Archives/Software/src/repos/remote/github.com"
-export DIR_AUDIO="${HOME}/Archives/Audio"
-export DIR_VIDEO="${HOME}/Archives/Videos"
-export DIR_YOUTUBE_VIDEO="${DIR_VIDEO}/Web/youtube.com"
+
+### DIRs ###
+export DIR_GITHUB="${HOME}/arc/sw/src/repos/remote/github.com"
+export DIR_AUDIO="${HOME}/arc/aud"
+export DIR_VIDEO="${HOME}/arc/vid"
+export DIR_YOUTUBE_VIDEO="${DIR_VIDEO}/web/youtube.com"
export DIR_YOUTUBE_AUDIO="${DIR_AUDIO}/youtube.com"
-export DIR_NOTES="$HOME/Documents/notes"
+export DIR_NOTES="$HOME/doc/notes"
export DIR_LOG="$HOME/var/log"
export DIR_LOG_MPD="$DIR_LOG/mpd"
+export DIR_NQ="$HOME/var/run/nq"
+
+# ensure all DIRs exist:
+env | grep ^DIR_ | awk -F= '{print $2}' | xargs -I% mkdir -p '%'
+
+### FILEs ###
export FILE_LOG_MPD="$DIR_LOG_MPD/mpd.log"
export FILE_VIDEO_CATALOG="$DIR_VIDEO/catalog"
-export NQDIR="$HOME/var/run/nq"
-mkdir -p "$NQDIR"
-
# .Net Core
#DOTNET_ROOT_path=$(which dotnet)
#DOTNET_ROOT_realpath=$(realpath "$DOTNET_ROOT_path")
export PATH=$PATH:$HOME/.cargo/bin
# Racket packages
-# WARN: ensure the version is correct
-export PATH=$PATH:$HOME/.racket/7.8/bin
+RACKET_VERSION=$(racket --version | awk '{for (i=1; i<=NF; i++) {if ($i ~ /^v[0-9]+\.[0-9]+/) {sub("^v", "", $i); print $i; exit 0}}}')
+export PATH=$PATH:$HOME/.racket/"$RACKET_VERSION"/bin
# Gambit Scheme
export PATH=$PATH:/usr/local/Gambit/bin
# DPI
. "$HOME/lib/login_variables_dpi.sh"
+
+# Doom
+export PATH=$PATH:$HOME/.emacs.d/bin
+
+# Ruby
+export PATH="$PATH":"$HOME"/.gem/ruby/2.5.0/bin
+
+# Go
+export GOPATH=$HOME/.go
+
+export PATH=$HOME/bin:$HOME/.local/bin:$GOPATH/bin:/snap/bin:/sbin:/usr/sbin:$PATH