Files
dotfiles/zsh/zprofile.j2

122 lines
3.2 KiB
Django/Jinja

source /etc/profile
if [[ "$(passwd --status $USER | awk '{print $2}')" =~ ^(NP|L)$ ]] ; then
while ! sudo passwd $USER ; do ; done
fi
export PATH="${HOME}/bin:${PATH}"
export EDITOR="helix"
export VISUAL="helix"
export BROWSER="firefox"
export PAGER="less"
export LESS="FRX"
export LANG=en_US.UTF-8
export LC_TIME=de_DE.UTF-8
export LC_COLLATE=C
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
export XDG_DOWNLOAD_DIR="$HOME/download"
mkdir -p "${XDG_CONFIG_HOME}"
mkdir -p "${XDG_CACHE_HOME}"
mkdir -p "${XDG_DATA_HOME}"
mkdir -p "${XDG_STATE_HOME}"
mkdir -p "${XDG_DOWNLOAD_DIR}"
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
export GOPATH="$XDG_DATA_HOME"/go
export GOMODCACHE="$XDG_CACHE_HOME"/go/mod
export SQLITE_HISTORY=$XDG_STATE_HOME/sqlite_history
export KUBECONFIG="$XDG_CONFIG_HOME/kube"
export KUBECACHEDIR="$XDG_CACHE_HOME/kube"
export PATH="$PATH:$(go env GOPATH)/bin"
export QT_QPA_PLATFORMTHEME=qt5ct
export PASSWORD_STORE_DIR="$HOME/.password-store"
export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtkrc-2.0
export CARGO_HOME="${XDG_STATE_HOME}/cargo"
export PATH="${PATH}:${CARGO_HOME}/bin"
export PASSWORD_STORE_DIR="$XDG_STATE_HOME"/pass
export ANSIBLE_HOME="${XDG_CONFIG_HOME}/ansible"
export ANSIBLE_GALAXY_CACHE_DIR="${XDG_CACHE_HOME}/ansible/galaxy_cache"
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
export GNUPGHOME="$XDG_STATE_HOME"/gnupg
export PYTHON_HISTORY=$XDG_STATE_HOME/python/history
export PYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python
export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentials
export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config
export XINITRC="$XDG_CONFIG_HOME"/xinitrc
export PSQLRC="$XDG_CONFIG_HOME/psqlrc"
export PSQL_HISTORY="$XDG_STATE_HOME/psql_history"
export PGPASSFILE="$XDG_CONFIG_HOME/pgpass"
export PGSERVICEFILE="$XDG_CONFIG_HOME/pg_service.conf"
export REDISCLI_HISTFILE="$XDG_DATA_HOME"/rediscli_history
export REDISCLI_RCFILE="$XDG_CONFIG_HOME"/redisclirc
export PYTHON_HISTORY=$XDG_STATE_HOME/python_history
export PYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python
# bash-specific
export HISTFILE="$XDG_STATE_HOME"/bash_history
umask 0022
{% set env = machine.environment | combine(user.environment) %}
{% for k, v in env.items() %}
export {{ k }}="{{ v }}"
{% endfor %}
feature_dir="${XDG_RUNTIME_DIR}/features/"
rm -rf "${feature_dir}"/
mkdir -p "${feature_dir}"
[[ $MACHINE_HAS_NEXTCLOUD == "true" ]] && touch "${feature_dir}"/nextcloud
[[ $MACHINE_HAS_KEEPASSXC == "true" ]] && touch "${feature_dir}"/keepassxc
[[ $MACHINE_HAS_STEAM == "true" ]] && touch "${feature_dir}"/steam
[[ $MACHINE_TYPE == "laptop" ]] && touch "${feature_dir}"/machine_is_laptop
{% if user.gpg_agent %}
touch "${feature_dir}"/gpg_agent
{% endif %}
# Make important environment variables also usable in the systemd user instance
systemd_envs=(
GNUPGHOME
PATH
)
systemctl --user import-environment "${systemd_envs[@]}"
# exec startx breaks some logind fuckery, without exec it works
if [[ -z $DISPLAY ]] ; then
if (( $XDG_VTNR == {{ user.vt }} )) ; then
startx
else
tmux new-session -A -s tmux-tty-$XDG_VTNR
fi
fi