diff --git a/common/.config/zsh/.zprofile b/common/.config/zsh/.zprofile
index bd91b766..2b64673e 100644
--- a/common/.config/zsh/.zprofile
+++ b/common/.config/zsh/.zprofile
@@ -97,7 +97,14 @@ export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
 export GOPATH="$XDG_DATA_HOME/go"
 export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
 export PERL_CPANM_HOME="$XDG_CACHE_HOME/cpanm"
+export PERL5LIB="$XDG_DATA_HOME/perl5/lib/perl5"
+export PERL_LOCAL_LIB_ROOT="$XDG_DATA_HOME/perl5"
+export PERL_MB_OPT="--install_base $XDG_DATA_HOME/perl5"
+export PERL_MM_OPT="INSTALL_BASE=$XDG_DATA_HOME/perl5"
 export PNPM_HOME="$XDG_DATA_HOME/pnpm"
+export GEM_HOME="$XDG_DATA_HOME/gem"
+export GEM_PATH="$XDG_DATA_HOME/gem"
+export COMPOSER_HOME="$XDG_DATA_HOME/composer"
 export GTK2_RC_FILES="$XDG_CONFIG_HOME/.config}/gtk-2.0/gtkrc-2.0"
 export HISTFILE="$XDG_DATA_HOME/history"
 export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc"
@@ -108,7 +115,7 @@ export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch-config"
 export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
 export PYTHONSTARTUP="/etc/python/pythonrc"
 export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
-export SVDIR="$HOME/.local/sv"
+export SVDIR="$HOME/.local/service"
 export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
 export UNISON="$XDG_DATA_HOME/unison"
 export W3M_DIR="$XDG_DATA_HOME/w3m"
@@ -140,8 +147,6 @@ do
     esac
 done
 
-gpg-connect-agent updatestartuptty /bye
-
 unset SSH_AGENT_PID
 if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
     export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
diff --git a/common/.config/zsh/.zshrc b/common/.config/zsh/.zshrc
index 80041afc..09852e3f 100644
--- a/common/.config/zsh/.zshrc
+++ b/common/.config/zsh/.zshrc
@@ -23,5 +23,9 @@ do
     source "${ZDOTDIR}/config/${f}.zsh"
 done
 
-gpg-connect-agent /bye
-export GPG_TTY=$TTY
+gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
+
+# TODO: python argcomplete
+# TODO: gempath
+
+export GPG_TTY=$(tty)