dotfiles/system/.config/custom/env
Severin Kaderli d93088f333
Update env variables
Signed-off-by: Severin Kaderli <severin@kaderli.dev>
2019-10-15 18:40:43 +02:00

177 lines
No EOL
5.3 KiB
Bash

#!/bin/bash
#
# SCRIPT NAME:
# .env
#
# AUTHOR:
# Severin Kaderli <severin@kaderli.dev>
#
# DESCRIPTION:
# This file contains declarations of environment variables.
#
# USAGE:
# This script is sourced by .bashrc
# XDG_Base_Directories
if [ -f "${XDG_BIN_HOME}/utils" ]; then
. "${XDG_BIN_HOME}/utils"
fi
if [ -z "${HOME}" ]; then
export HOME="/home/severin"
fi
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_BIN_HOME="${HOME}/.local/bin"
export XDG_LOG_HOME="${HOME}/.local/log"
export DOTFILES="${HOME}/dotfiles"
if [ "$(hostname)" = "loki" ]; then
export IS_WORK="1"
else
export IS_WORK="0"
fi
# XDG Overrides for unsupported programs
export HTTPIE_CONFIG_DIR="${XDG_CONFIG_HOME}/httpie"
export WGETRC="${XDG_CONFIG_HOME}/wget/wgetrc"
export XAUTHORITY="${HOME}/.Xauthority"
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 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"
export SQLITE_HISTORY="${XDG_DATA_HOME}/sqlite_history"
export TASKDATA="${HOME}/tasks"
export TASKRC="${XDG_CONFIG_HOME}/task/taskrc"
export PARALLEL_HOME="$XDG_CONFIG_HOME/parallel"
export CCACHE_CONFIGPATH="${XDG_CONFIG_HOME}/ccache/config"
export CCACHE_DIR="${XDG_CACHE_HOME}/ccache"
mkdir -p "${XDG_CONFIG_HOME}/pg"
mkdir -p "${XDG_CACHE_HOME}/pg"
export PSQLRC="${XDG_CONFIG_HOME}/pg/psqlrc"
export PSQL_HISTORY="${XDG_CACHE_HOME}/pg/psql_history"
export PGPASSFILE="${XDG_CONFIG_HOME}/pg/pgpass"
export PGSERVICEFILE="${XDG_CONFIG_HOME}/pg/pg_service.conf"
export OCTAVE_HISTFILE="${XDG_CACHE_HOME}/octave-hist"
export OCTAVE_SITE_INITFILE="${XDG_CONFIG_HOME}/octave/octaverc"
mkdir -p "${XDG_CONFIG_HOME}/bazaar"
export VAGRANT_HOME="${XDG_DATA_HOME}/vagrant"
export VAGRANT_ALIAS_FILE="${XDG_DATA_HOME}/vagrant/aliases"
mkdir -p "${XDG_CONFIG_HOME}/mpd/playlists"
mkdir -p "${XDG_CACHE_HOME}/less"
export LESSKEY="${XDG_CONFIG_HOME}/less/lesskey"
export LESSHISTFILE="${XDG_CACHE_HOME}/less/history"
mkdir -p "${XDG_DATA_HOME}/mysql"
export MYSQL_HISTFILE="${XDG_DATA_HOME}/mysql/history"
# Python
mkdir -p "${XDG_DATA_HOME}/python"
export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/startup.py"
# 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}"
if [ -n "$(command -v compinit)" ]; then
compinit -d "${XDG_DATA_HOME}/zsh/zcompdump-${ZSH_VERSION}"
fi
export MTGA_WINE_PREFIX="${HOME}/games/magic-the-gathering-arena"
export MTGA_WINE_BINARY="/usr/bin/wine"
# Setting applications
export VISUAL=vim
export EDITOR="${VISUAL}"
export TERMINAL="alacritty"
export BROWSER="chromium"
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}:${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"
export PATH="${HOME}/.local/bin:${PATH}"
# 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}[%D{%T}]%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="╾─┘"