2012-07-03 17:21:48 +02:00
|
|
|
## -*- mode:sh -*- #
|
2012-06-15 16:54:02 +02:00
|
|
|
################################################################################
|
|
|
|
## Shell Config -- Main
|
2012-07-27 19:25:27 +02:00
|
|
|
## Date 2012-07-27
|
2012-06-15 16:54:02 +02:00
|
|
|
################################################################################
|
|
|
|
|
2012-07-09 18:39:55 +02:00
|
|
|
## Mask
|
|
|
|
## Result for 027 is: rwxr-x---
|
|
|
|
umask 027
|
|
|
|
|
|
|
|
## Path
|
2012-10-29 16:36:22 +01:00
|
|
|
## WARNING: putting current dir '.' in PATH is mostly a bad idea!
|
2012-10-24 16:20:16 +02:00
|
|
|
# export PATH=.:$PATH
|
2013-02-12 11:12:49 +01:00
|
|
|
export PATH=$PATH:${HOME}/.launchers/
|
|
|
|
export PATH=$PATH:${HOME}/.scripts/
|
2012-12-24 16:25:07 +01:00
|
|
|
|
2012-07-09 18:39:55 +02:00
|
|
|
|
2012-07-25 13:16:21 +02:00
|
|
|
## TeXlive
|
2012-09-07 19:54:29 +02:00
|
|
|
TEXDIR="${TEXDIR:-/usr/local/texlive}"
|
|
|
|
if [ -d "${TEXDIR}" ]; then
|
|
|
|
TEXYEAR=$(/bin/ls -1r "${TEXDIR}" | grep -m1 "[0-9]\{4\}")
|
|
|
|
TEXDISTRO=$(uname -m)-$(uname | tr "[[:upper:]]" "[[:lower:]]")
|
|
|
|
TEXFOLDER="${TEXDIR}/${TEXYEAR}/bin/${TEXDISTRO}/"
|
|
|
|
if [ -d "${TEXFOLDER}" ]; then
|
|
|
|
export PATH=${TEXFOLDER}:$PATH
|
|
|
|
export INFOPATH=${TEXDIR}/${TEXYEAR}/texmf/doc/info:$INFOPATH
|
2013-04-27 16:35:45 +02:00
|
|
|
|
2012-10-29 15:29:54 +01:00
|
|
|
## BSD uses 'manpath' utility, so MANPATH variable may be empty.
|
|
|
|
if [ "$OSTYPE" = "linux-gnu" ]; then
|
|
|
|
export MANPATH=${TEXDIR}/${TEXYEAR}/texmf/doc/man:$MANPATH
|
|
|
|
fi
|
2012-09-07 19:54:29 +02:00
|
|
|
fi
|
|
|
|
unset TEXYEAR
|
|
|
|
unset TEXDISTRO
|
|
|
|
unset TEXFOLDER
|
|
|
|
fi
|
|
|
|
unset TEXDIR
|
2012-07-25 13:16:21 +02:00
|
|
|
|
2012-08-13 18:18:56 +02:00
|
|
|
## Enable color support of ls.
|
2012-10-29 15:29:54 +01:00
|
|
|
if [ "$TERM" != "dumb" ] && [ "$OSTYPE" = "linux-gnu" ]; then
|
2012-10-04 22:03:29 +02:00
|
|
|
eval "`dircolors $HOME/.shell.d/dircolorsdb`"
|
2012-10-29 18:04:34 +01:00
|
|
|
elif [ "$TERM" != "dumb" ]; then
|
|
|
|
export LSCOLORS="Ex"
|
|
|
|
# export LSCOLORS="ExfxcxDxCxdxdxCxCxECEh"
|
2012-08-13 18:18:56 +02:00
|
|
|
fi
|
|
|
|
|
2013-02-23 18:49:44 +01:00
|
|
|
## This env variable is used by some programs (like ranger) to get terminal
|
|
|
|
## executable name.
|
|
|
|
export TERMCMD="urxvt"
|
|
|
|
|
2012-07-09 18:39:55 +02:00
|
|
|
## Terminal
|
2012-07-26 19:16:41 +02:00
|
|
|
## WARNING: this is always a bad idea!
|
2013-01-10 11:05:43 +01:00
|
|
|
## FreeBSD urxvt $TERM variable is not set properly for some reasons.
|
2012-10-31 09:54:35 +01:00
|
|
|
## TODO: check how to do this properly.
|
2013-04-27 16:35:45 +02:00
|
|
|
if [ ! "$OSTYPE" = "linux-gnu" ] && [[ "$TERM" = *rxvt* ]]; then
|
2012-10-29 15:29:54 +01:00
|
|
|
export TERM="rxvt-unicode-256color"
|
|
|
|
fi
|
2013-05-10 17:32:04 +02:00
|
|
|
## Most xterm-based terminals support 256 colors, so let's turn this on.
|
|
|
|
if [ "$TERM" = "xterm" ]; then
|
|
|
|
export TERM="xterm-256color"
|
|
|
|
fi
|
2012-06-15 16:54:02 +02:00
|
|
|
|
|
|
|
## Make 'less' more friendly for non-text input files, see lesspipe(1).
|
|
|
|
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
|
|
|
|
|
2012-07-27 19:25:27 +02:00
|
|
|
## Manpage.
|
2012-10-31 10:11:12 +01:00
|
|
|
export MANPAGER="less -s"
|
|
|
|
## The following options are useful for FreeBSD default 'less' command which has
|
|
|
|
## an empty prompt. Sadly this gets messy with 'apropos'.
|
|
|
|
# export MANPAGER="less -sP '?f%f .?m(file %i of %m) .?ltlines %lt-%lb?L/%L. .byte %bB?s/%s. ?e(END) :?pB%pB\%..%t'"
|
2012-10-29 16:36:22 +01:00
|
|
|
export MANWIDTH=80
|
2012-06-15 16:54:02 +02:00
|
|
|
|
2012-09-05 16:26:43 +02:00
|
|
|
## Less config. -R is needed for lesspipe.
|
|
|
|
export LESS=' -R '
|
|
|
|
|
2012-06-15 16:54:02 +02:00
|
|
|
## Time display (with ls command for example)
|
2012-10-29 15:29:54 +01:00
|
|
|
## TODO: BSD version?
|
2012-08-23 13:33:47 +02:00
|
|
|
export TIME_STYLE=+"|%Y-%m-%d %H:%M:%S|"
|
2012-06-15 16:54:02 +02:00
|
|
|
|
|
|
|
## System locale
|
|
|
|
# export LC_MESSAGES=fr_FR.utf8
|
|
|
|
|
|
|
|
## Default text editor
|
|
|
|
EDITOR=nano
|
2012-09-02 19:32:47 +02:00
|
|
|
if [ -n "$(command -v vim)" ]; then
|
2012-06-15 16:54:02 +02:00
|
|
|
EDITOR=vim
|
|
|
|
fi
|
2012-09-02 19:32:47 +02:00
|
|
|
if [ -n "$(command -v emacs)" ]; then
|
2013-01-09 19:25:23 +01:00
|
|
|
EDITOR='emacs'
|
|
|
|
fi
|
2013-05-24 17:23:01 +02:00
|
|
|
GIT_EDITOR="$EDITOR"
|
2013-04-27 16:35:45 +02:00
|
|
|
## 'em' is a script for emacsclient. See 'homeinit'.
|
2013-05-20 12:18:25 +02:00
|
|
|
if [ -n "$(command -v em)" ]; then
|
2013-01-09 19:25:23 +01:00
|
|
|
EDITOR='em'
|
2013-05-24 17:23:01 +02:00
|
|
|
GIT_EDITOR='emacsclient -a "" -t'
|
2012-06-15 16:54:02 +02:00
|
|
|
fi
|
|
|
|
export EDITOR
|
2013-05-24 17:23:01 +02:00
|
|
|
export GIT_EDITOR
|
2012-06-15 16:54:02 +02:00
|
|
|
|
|
|
|
## Internet Browser
|
2013-05-22 17:35:54 +02:00
|
|
|
[ -n "$(command -v luakit)" ] && export BROWSER="luakit"
|
2012-11-29 18:17:42 +01:00
|
|
|
[ -n "$(command -v dwb)" ] && export BROWSER="dwb"
|
2012-06-15 16:54:02 +02:00
|
|
|
|
2012-07-09 18:39:55 +02:00
|
|
|
## Title
|
|
|
|
## If this is an xterm set the title to user@host:dir
|
|
|
|
#case "$TERM" in
|
|
|
|
#xterm*|rxvt*)
|
|
|
|
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
|
|
|
|
# ;;
|
|
|
|
#*)
|
|
|
|
# ;;
|
|
|
|
#esac
|
2013-01-09 19:25:23 +01:00
|
|
|
|
|
|
|
## SSH-Agent
|
2013-05-04 13:40:48 +02:00
|
|
|
## WARNING: this is somewhat insecure. Avoid using it on a mutli-user machine.
|
|
|
|
if [ -n "$(command -v ssh-agent)" ]; then
|
|
|
|
SSH_ENV_FILE="/tmp/ssh-agent-env"
|
|
|
|
if [ $(ps ax -o command="" | grep -c "ssh-agent") -eq 1 ]; then
|
|
|
|
SSH_AGENT_VARS=$(ssh-agent)
|
|
|
|
eval $(echo "${SSH_AGENT_VARS}")
|
|
|
|
echo "${SSH_AGENT_VARS}" | sed '2q' | cut -d'=' -f2 | cut -d';' -f1 > "$SSH_ENV_FILE"
|
|
|
|
chmod 444 "$SSH_ENV_FILE"
|
|
|
|
unset $SSH_AGENT_VARS
|
|
|
|
elif [ -f "$SSH_ENV_FILE" ]; then
|
|
|
|
SSH_AUTH_SOCK=$(sed -n '1{p;q}' "$SSH_ENV_FILE") ; export SSH_AUTH_SOCK
|
|
|
|
SSH_AGENT_PID=$(sed -n '2{p;q}' "$SSH_ENV_FILE") 2>/dev/null ; export SSH_AGENT_PID
|
|
|
|
fi
|
|
|
|
unset SSH_ENV_FILE
|
2013-01-09 19:25:23 +01:00
|
|
|
fi
|