#!/usr/bin/env zsh # Default programs export EDITOR='nvim' export TERMINAL='st' export BROWSER='launch firefox' export SUDO='doas' # Use sudo=${SUDO-sudo} [ $EUID = 0 ] && export SUDO='' # When running as root, don't use sudo # Make programs follow the XDG base directory specification export XDG_CACHE_HOME="$HOME/.cache" export XAUTHORITY="$XDG_CACHE_HOME/Xauthority" export XDG_CONFIG_HOME="$HOME/.config" export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc" export MBSYNCRC="$XDG_CONFIG_HOME/mbsync/config" export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch/config" export X11CONFIG="$XDG_CONFIG_HOME/x11" # Used for X11 scripts export ZDOTDIR="$XDG_CONFIG_HOME/zsh" export XDG_DATA_HOME="$HOME/.local/share" export CARGO_HOME="$XDG_DATA_HOME/cargo" export GNUPGHOME="$XDG_DATA_HOME/gnupg" export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_DATA_HOME/java" export XDG_STATE_HOME="$HOME/.local/state" HISTFILE="$XDG_STATE_HOME/zsh/zhistory" # Zsh internal variable, doesn't need to be available to general environment export LESSHISTFILE='-' # Disable this, but it would be considered a state file # Path for lbin in "$HOME/.local/bin"{/,/*/}; do export PATH="${lbin%/}:$PATH"; done 2>/dev/null # Add ~/.local/bin and all sub dirs export PATH="$HOME/.local/opt:$PATH" export PATH="$CARGO_HOME/bin:$PATH" # Theming export QT_QPA_PLATFORMTHEME='qt5ct' # Misc Zsh setup mkdir -p "$HISTFILE" # Autostart X after login [ -z $DISPLAY ] && [[ $UID != 0 ]] && [[ $TTY =~ /dev/tty(1|C0) ]] && startx "$X11CONFIG/xinitrc"