#!/bin/zsh
set +a
# profile file. Runs on login. Environmental variables are set here.

# If you don't want this in your home directory, execute this command and move this file
# echo 'export ZDOTDIR="$HOME/.config/zsh"' | sudo tee -a /etc/zsh/zshenv

export EDITOR="nvim"
export TERMINAL="st"
export TERMCMD=$TERMINAL
export OPENER=opener
export BROWSER="brave-browser"

# Locale
export LANGUAGE="en_US"
export LANG="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="de_DE.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="de_DE.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="de_DE.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
export LC_ALL=
# Settings
export VIRTUAL_ENV_DISABLE_PROMPT=1
export FZF_DEFAULT_OPTS="\
    --layout=reverse --height 40%\
    --color=fg:#c0caf5,bg:,hl:#ff9e64 \
    --color=fg+:#c0caf5,bg+:,hl+:#ff9e64 \
    --color=info:#7aa2f7,prompt:#7dcfff,pointer:#7dcfff \
    --color=marker:#9ece6a,spinner:#9ece6a,header:#9ece6a"
export LESS=-R
export LESS_TERMCAP_mb="$(printf '%b' '')"
export LESS_TERMCAP_md="$(printf '%b' '')"
export LESS_TERMCAP_me="$(printf '%b' '')"
export LESS_TERMCAP_so="$(printf '%b' '')"
export LESS_TERMCAP_se="$(printf '%b' '')"
export LESS_TERMCAP_us="$(printf '%b' '')"
export LESS_TERMCAP_ue="$(printf '%b' '')"
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
export ANSIBLE_NOCOWS=1         # Stop those fucking cows in Ansible
export DOTS_PACKAGE="dots"

# Color palette for console dialogs in tools such as nmtui and whiptail
export NEWT_COLORS='
    root=white,black
    border=black,lightgray
    window=lightgray,lightgray
    shadow=black,gray
    title=black,lightgray
    button=black,blue
    actbutton=white,blue
    compactbutton=black,lightgray
    checkbox=black,lightgray
    actcheckbox=lightgray,blue
    entry=black,lightgray
    disentry=gray,lightgray
    label=black,lightgray
    listbox=black,lightgray
    actlistbox=black,blue
    sellistbox=lightgray,black
    actsellistbox=lightgray,black
    textbox=black,lightgray
    acttextbox=black,blue
    emptyscale=,gray
    fullscale=,blue
    helpline=white,black
    roottext=lightgrey,black
'

# Home Dir Cleanup

export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_STATE_HOME="$HOME/.local/state"

export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
export STOW_DIR="$XDG_DATA_HOME/stow"
set -a
source $XDG_CONFIG_HOME/user-dirs.dirs
set +a

export SVDIR="$HOME/.local/sv"
export WORKON_HOME="$XDG_DATA_HOME/virtualenv"
export ZSH_COMPDUMP="$XDG_CACHE_HOME/zcompdump"
export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch-config"
export GTK2_RC_FILES="$XDG_CONFIG_HOME/.config}/gtk-2.0/gtkrc-2.0"
export LESSHISTFILE="-"
export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc"
export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default"
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
export ANDROID_HOME="$XDG_DATA_HOME/android"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
export GOPATH="$XDG_DATA_HOME/go"
export ANSIBLE_HOME="$XDG_DATA_HOME/ansible"
export ANSIBLE_LOCAL_TMP="$XDG_CACHE_HOME/ansible/tmp"
export ANSIBLE_GALAXY_CACHE_DIR="$XDG_CACHE_HOME/ansible/galaxy"
export ANSIBLE_GALAXY_TOKEN_PATH="$XDG_DATA_HOME/ansible/galaxy_token"
export ANSIBLE_PERSISTENT_CONTROL_PATH_DIR="$XDG_RUNTIME_DIR/ansible_pc.sock"
export UNISON="$XDG_DATA_HOME/unison"
export HISTFILE="$XDG_DATA_HOME/history"
export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # WARN: This line can break some display managers
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
export NODE_REPL_HISTORY="$XDG_DATA_HOME/node_repl_history"
export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java"
export MOZBUILD_STATE_PATH="$XDG_DATA_HOME/mozbuild"
export W3M_DIR="$XDG_DATA_HOME/w3m"
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
export PYTHONSTARTUP="/etc/python/pythonrc"
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
export XBPS_DISTDIR="$XDG_DOCUMENTS_DIR/dev/desktop/void-packages"
export ZK_NOTEBOOK_DIR="$XDG_DOCUMENTS_DIR/notes"

localpath="$(find -L ~/.local/bin -type d -printf %p: | sed 's/.$//')"
fpath=($XDG_CONFIG_HOME/zsh/completions $fpath)
export PATH="$PATH:$localpath"

export PNPM_HOME="/home/luca/.local/share/pnpm"
case ":$PATH:" in
  *":$PNPM_HOME:"*) ;;
  *) export PATH="$PNPM_HOME:$PATH" ;;
esac

unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
    export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi

if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
    exec startx $XINITRC
fi