# Import ENV from system
. /etc/profile
[ -f /etc/profile.d/nix-daemon.sh ] && . /etc/profile.d/nix-daemon.sh

# Other XDG vars
export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}
export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"}
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"}
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs"
export XDG_CURRENT_DESKTOP="i3"
export XDG_DOCUMENTS_DIR=${HOME}/Documents
export XDG_DOWNLOAD_DIR=${HOME}/Downloads
export XDG_DESKTOP_DIR=${HOME}/Desktop
export XDG_VIDEOS_DIR=${HOME}/Videos


# Doesn't seem to work
export ANDROID_SDK_HOME="$XDG_CONFIG_HOME"/android
export ANDROID_AVD_HOME="$XDG_DATA_HOME"/android/
export ANDROID_EMULATOR_HOME="$XDG_DATA_HOME"/android/
export ADB_VENDOR_KEY="$XDG_CONFIG_HOME"/android

# Disable files
export LESSHISTFILE=-

# Fixing Paths
export MBSYNCRC="$XDG_CONFIG_HOME"/isync/mbsyncrc
export ATOM_HOME="$XDG_DATA_HOME"/atom
export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
export XSERVERRC="$XDG_CONFIG_HOME"/X11/xserverrc
export GEM_SPEC_CACHE="$XDG_DATA_HOME/ruby/specs"
export GEM_HOME="$XDG_DATA_HOME/ruby/gems"
export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
export GOPATH="$XDG_DATA_HOME"/go
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
export RXVT_SOCKET="$XDG_RUNTIME_DIR"/urxvtd
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
export ZDOTDIR=$HOME/.config/zsh
export CARGO_HOME="$XDG_DATA_HOME"/cargo
export WEECHAT_HOME="$XDG_CONFIG_HOME"/weechat
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
export NOTMUCH_CONFIG="$XDG_CONFIG_HOME"/notmuch/notmuchrc
export NMBGIT="$XDG_DATA_HOME"/notmuch/nmbug
export WINEROOT="$XDG_DATA_HOME"/wineprefixes
export WINEPREFIX="$WINEROOT"/default
export MPD_HOST="$XDG_CONFIG_HOME/mpd/socket"

# Scaling
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCALE_FACTOR=1
export QT_SCREEN_SCALE_FACTORS="1;1;1"
export GDK_SCALE=1
export GDK_DPI_SCALE=1

# Theming
export QT_QPA_PLATFORMTHEME=qt5ct

# Fix wayland stuff
export MOZ_ENABLE_WAYLAND=1
export XKB_DEFAULT_OPTIONS=caps:escape

# Default Apps
export EDITOR="nvim"
export READER="zathura"
export VISUAL="nvim"
export TERMINAL="alacritty"
export BROWSER="browser"
export VIDEO="mpv"
export IMAGE="sxiv"
export OPENER="xdg-open"
export PAGER="less"

# Modern SDK
export N64_LIBGCCDIR="/opt/crashsdk/lib/gcc/mips64-elf/12.2.0"
export ROOT=/etc/n64
export BLENDER_3_0="/usr/bin/blender"

# DIRS
export SRCDIR="$HOME/.local/src"

# OLD PATH
export SYSPATH="$PATH"

# NEW PATH
addtopath () {
	if [ -n "$PATH" ]; then
		PATH="$@:$PATH"
	else
		PATH="$@"
	fi
}

unset PATH
if [ -d "$HOME/.local/bin/testing" ]; then
  addtopath "$HOME/.local/bin/testing"
fi
if [ -d "$HOME/.local/bin/shortcmds" ]; then
  addtopath "$HOME/.local/bin/shortcmds"
fi
if [ -d "$HOME/.local/bin/generics" ]; then
  addtopath "$HOME/.local/bin/generics"
fi
if [ -d "$HOME/.local/bin/scripts" ]; then
  addtopath "$HOME/.local/bin/scripts"
fi
if [ -d "$HOME/.local/bin/sp" ]; then
  addtopath "$HOME/.local/bin/sp"
fi
if [ -d "$HOME/.local/bin/blocks" ]; then
  addtopath "$HOME/.local/bin/blocks"
fi
if [ -d "$HOME/.local/bin/ignore" ]; then
  addtopath "$HOME/.local/bin/ignore"
fi
if [ -d "$HOME/.local/bin/volsv" ]; then
  addtopath "$HOME/.local/bin/volsv"
fi
if [ -d "$HOME/.local/bin" ]; then
  addtopath "$HOME/.local/bin"
fi
if [ -d "$HOME/.local/bin/flatpak-sc" ]; then
  addtopath "$HOME/.local/bin/flatpak-sc"
fi
if [ -d "$HOME/.local/bin/flatpak/exports/bin" ]; then
  addtopath "$HOME/.local/share/flatpak/exports/bin/"
fi
if [ -d "$CARGO_HOME/bin" ]; then
  addtopath "$CARGO_HOME/bin"
fi
if [ -d "$GOPATH/bin" ]; then
  addtopath "$GOPATH/bin"
fi
if [ -d "/var/lib/flatpak/exports/bin" ]; then
  addtopath "/var/lib/flatpak/exports/bin"
fi

# MERGE PATHS
export PATH="$PATH:$SYSPATH"

# CLEANUP
unset SYSPATH