#!/bin/sh # ~/.profile # Made on kisho, strives to be universal now # xmpp:morus@yourdata.forsale # mailto:morus@sdf.org # Helper functions---------------------------------------------------- # has-external(){ for n; do [ -x "$( 2>/dev/null command -v $n )" ] || return 1 done } # Freedesktop definitions--------------------------------------------- # export XDG_CONFIG_HOME="${HOME}/.config"; export XDG_CACHE_HOME="${HOME}/.local/cache"; export XDG_DATA_HOME="${HOME}/.local/share"; export XDG_STATE_HOME="${HOME}/.local/state"; if [ -f "${HOME}/.config/user-dirs.dirs" ] then while read REPLY do eval "export ${REPLY};" done < "${HOME}/.config/user-dirs.dirs" fi # Mail and other utilities-------------------------------------------- # export MAILCHECK="-1"; # No new mail notifs export MAILPATH="/var/mail/${LOGNAME}"; export GNUPGHOME="${XDG_CONFIG_HOME:-$HOME/.config}/gnupg"; export PASSWORD_STORE_DIR="${HOME}/.local/password-store"; export PAGER="less"; export LESS="-giq" export LESSKEY="${XDG_CONFIG_HOME:-$HOME/.config}/less" export LESSHISTFILE="-"; umask 077; # Leave my stuff # My editor needs are intricate--------------------------------------- # if kak -version | grep -Eq 'v202[01]' # old kak curses suck on ssh then if vi --version >/dev/null 2>&1; then EDITOR=vim; elif has-external vi; then EDITOR=vi; elif has-external vim; then EDITOR=vim; elif has-external micro; then EDITOR=micro; elif has-external joe; then EDITOR=joe; elif has-external nano; then EDITOR=nano; fi elif has-external kak; then EDITOR=kak; fi export EDITOR; [ -n "${EDITOR}" ] && export VISUAL="${EDITOR}"; # Path---------------------------------------------------------------- # [ -d "${HOME}/.local/bin" ] && PATH="${HOME}/.local/bin:${PATH}"; [ -d "${HOME}/bin" ] && PATH="${HOME}/bin:${PATH}"; [ -d "${HOME}/scripts" ] && PATH="${HOME}/scripts:${PATH}"; export PATH; # Tor for libcurl----------------------------------------------------- # if netstat -lnt | awk '($0=$4) && /9050$/ {i++};END {if (i<1) exit 1}' then export ALL_PROXY='socks5h://localhost:9050' fi # Some help for fancy stow packages------------------------------------# STOW_SH_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/sh"; if [ -d "${STOW_SH_DIR}" ] then for f in "${STOW_SH_DIR}"/*.sh do [ -f "${f}" ] && . "${f}" done fi # If running bash, source the bashrc too------------------------------ # if [ -n "${BASH_VERSION}" ] then BASH_ENV="${HOME}/.bashrc" if [ -f "${BASH_ENV}" ]; then . "${BASH_ENV}"; export BASH_ENV; fi elif [ -n "${KSH_VERSION}" ] || [ "${SHELL##*/}" = ksh ] then ENV="${HOME}/.config/ksh/kshrc" if [ -f "${ENV}" ]; then export ENV; fi fi