# environment variables

## system
BROWSER=firefox; export BROWSER
EDITOR=nvim; export EDITOR
PAGER=less; export PAGER
PATH="$HOME/.local/bin:$HOME/.local/games:$PATH"; export PATH

### compilation
CC=cc; export CC
CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \
	-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
	-fstack-clash-protection -fcf-protection -fuse-ld=mold"
export CFLAGS
LD_LIBRARY_PATH="$HOME/.local/lib:$LD_LIBRARY_PATH"; export LD_LIBRARY_PATH
RUSTFLAGS="-Clink-arg=-fuse-ld=mold -Copt-level=z -Ccodegen-units=1 \
	-Cpanic=abort -Clto=y -Cstrip=symbols -Ctarget-cpu=native -Cembed-bitcode=yes"
export RUSTFLAGS

## XDG
XDG_CACHE_HOME="$HOME/.var/cache"; export XDG_CACHE_HOME
XDG_CONFIG_HOME="$HOME/.local/etc"; export XDG_CONFIG_HOME
XDG_DATA_HOME="$HOME/.local/share"; export XDG_DATA_HOME
XDG_STATE_HOME="$HOME/.local/state"; export XDG_STATE_HOME

XDG_DESKTOP_DIR="$HOME/desktop"; export XDG_DESKTOP_DIR
XDG_DOCUMENTS_DIR="$HOME/documents"; export XDG_DOCUMENTS_DIR
XDG_DOWNLOAD_DIR="$HOME/downloads"; export XDG_DOWNLOAD_DIR
XDG_MUSIC_DIR="$HOME/music"; export XDG_MUSIC_DIR
XDG_PICTURES_DIR="$HOME/pictures"; export XDG_PICTURES_DIR
XDG_PUBLICSHARE_DIR="$HOME/public"; export XDG_PUBLICSHARE_DIR
XDG_SCREENSHOTS_DIR="$XDG_PICTURES_DIR/screenshots"; export XDG_SCREENSHOTS_DIR
XDG_TEMPLATES_DIR="$HOME/templates"; export XDG_TEMPLATES_DIR
XDG_VIDEOS_DIR="$HOME/videos"; export XDG_VIDEOS_DIR

## programming environment
CARGO_HOME="$XDG_DATA_HOME/cargo"; export CARGO_HOME
GOPATH="$XDG_DATA_HOME/go"; export GOPATH
RUSTUP_HOME="$XDG_DATA_HOME/rustup"; export RUSTUP_HOME

CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold"; export CMAKE_EXE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS="-fuse-ld=mold"; export CMAKE_MODULE_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold"; export CMAKE_SHARED_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS="-fuse-ld=mold"; export CMAKE_STATIC_LINKER_FLAGS

## misc
LIBVA_DRIVER_NAME=radeonsi; export LIBVA_DRIVER_NAME
MOZ_ENABLE_WAYLAND=1; export MOZ_ENABLE_WAYLAND
QT_QPA_PLATFORM=wayland; export QT_QPA_PLATFORM
QT_QPA_PLATFORMTHEME=qt5ct; export QT_QPA_PLATFORMTHEME
GTK_IM_MODULE=ibus; export GTK_IM_MODULE
QT_IM_MODULE=ibus; export QT_IM_MODULE
XMODIFIERS=@im=ibus; export XMODIFIERS
YTPICK="fuzzel --dmenu -w 80"; export YTPICK
YT_PL_DIR="$XDG_DATA_HOME/yt"; export YT_PL_DIR
PLAYER=mpv; export PLAYER

# aliases
alias ffmpreg='ffmpeg'
alias tar='bsdtar'
alias vi='ovi'
alias weather="curl 'wttr.in/?0'"

# zsh configuration settings
case "$SHELL" in
	/bin/sh || */dash )
		set -o vi
		PS1='$ '
		;;
esac
