#!/bin/bash # # SCRIPT NAME: # .env # # AUTHOR: # Severin Kaderli # # DESCRIPTION: # This file contains declarations of environment variables. # # USAGE: # This script is sourced by .bashrc . "${XDG_BIN_HOME}/utils" # XDG Overrides for unsupported programs export HTTPIE_CONFIG_DIR="${XDG_CONFIG_HOME}/httpie" export XAUTHORITY="${XDG_RUNTIME_DIR}/Xauthority" touch "${XAUTHORITY}" export WGETRC="${XDG_CONFIG_HOME}/wget/wgetrc" export VIMINIT=":source ${XDG_CONFIG_HOME}/vim/vimrc" export CARGO_HOME="${XDG_DATA_HOME}/cargo" export RUSTUP_HOME="${XDG_DATA_HOME}/rustup" export PYLINTHOME="${XDG_CACHE_HOME}/pylint" export DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker" export GTK_RC_FILES="${XDG_CONFIG_HOME}/gtk-1.0/gtkrc" export GTK2_RC_FILES="${XDG_CONFIG_HOME}/gtk-2.0/gtkrc" export XINITRC="${XDG_CONFIG_HOME}/X11/xinitrc" export XSERVERRC="${XDG_CONFIG_HOME}/X11/xserverrc" export NPM_CONFIG_USERCONFIG="${XDG_CONFIG_HOME}/npm/config" export NODE_REPL_HISTORY="${XDG_DATA_HOME}/node/repl_history" export GOPATH="${XDG_DATA_HOME}/go" export GNUPGHOME="${XDG_DATA_HOME}/gnupg" export GEM_HOME="${XDG_DATA_HOME}/gem" export GEM_SPEC_CACHE="${XDG_CACHE_HOME}/gem/specs" mkdir -p "${XDG_DATA_HOME}/wine/prefixes" export WINEPREFIX="${XDG_DATA_HOME}/wine/prefixes/default" # Python mkdir -p "${XDG_DATA_HOME}/python" export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/startup.py" # Nvidia export __GL_SHADER_DISK_CACHE_PATH="/tmp" # zsh export ZDOTDIR="${XDG_CONFIG_HOME}/zsh" export HISTFILE="${XDG_DATA_HOME}/zsh/history" export HISTCONTROL=ignoreboth export SAVEHIST=1000 export HISTSIZE=1000 export HISTFILESIZE=2000 mkdir -p "${XDG_DATA_HOME}/zsh/zcompdump-${ZSH_VERSION}" compinit -d "${XDG_DATA_HOME}/zsh/zcompdump-${ZSH_VERSION}" # Setting applications export VISUAL=vim export EDITOR="${VISUAL}" export TERMINAL=termite export BROWSER="google-chrome-beta" export PAGER="less" export MANPAGER="${PAGER}" # QT export QT_QPA_PLATFORMTHEME=gtk2 export QT_STYLE_OVERRIDE=gtk2 # Ibus export GTK_IM_MODULE=xim export XMODIFIERS=@im=ibus export QT_IM_MODULE=xim # Adding folders to the PATH variable export PATH="${PATH}:${HOME}/.local/bin" export PATH="${PATH}:${CARGO_HOME}/bin" export PATH="${PATH}:${XDG_DATA_HOME}/npm/bin" export PATH="${PATH}:${GOPATH}/bin" export PATH="${PATH}:${GEM_HOME}/bin" export PATH="${PATH}:${XDG_CONFIG_HOME}/composer/vendor/bin" # Load version control information function current_branch() { branch="$(git rev-parse --abbrev-ref HEAD)" > /dev/null 2>&1 if [ -z "${branch}" ] then echo "" else echo "[${branch}]" fi } function file_count() { count="$(ls -a -1 | wc -l)" echo "[${count} files]" } function folder_size() { size="$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')" echo "[${size}B]" } function prompt_width() { hostname="$(hostname)" branch="$(current_branch)" pwd="$(print -P %~)" file_count="$(file_count)" folder_size="$(folder_size)" echo "$(($COLUMNS - 19 - ${#hostname} - ${#branch} - ${#pwd} - ${#file_count} - ${#folder_size}))" } function precmd() { # Print a newline before the prompt, unless it's the # first prompt in the process. if [ -z "$NEW_LINE_BEFORE_PROMPT" ]; then NEW_LINE_BEFORE_PROMPT=1 elif [ "$NEW_LINE_BEFORE_PROMPT" -eq 1 ]; then echo "" fi } # Custom prompt NEWLINE=$'\n' export PS1="┌─" export PS1="${PS1}%F{red}[%*]%f" export PS1="${PS1}%F{blue}[%m]%f" export PS1="${PS1}%F{yellow}[%~]%f" export PS1="${PS1}"'${(r:$(prompt_width)::─:)}' export PS1="${PS1}%F{yellow}"'$(file_count)'"%f" export PS1="${PS1}%F{blue}"'$(folder_size)'"%f" export PS1="${PS1}%F{red}"'$(current_branch)'"%f" export PS1="${PS1}─┐" export PS1="${PS1}${NEWLINE}└─╼ " export RPROMPT="╾─┘" #PS1="\n\[\e[30;1m\]\[\016\]l\[\017\](\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])->\[\e[30;1m\]\n\[\016\]m\[\017\]-(\[\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"