summaryrefslogtreecommitdiff
path: root/.shenv
blob: e914bfa58ac5005aa1d310c4a316bcbfd5cf76e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/bin/sh

# Environment variables for X and all text-mode shells: both bash and
# zsh and scripts run by cron source this.  So POSIX only.

# ---- choose editor depending on what's available

emacsclient=$(which emacsclient)
mg=$(which mg)
# best case: emacsclient and mg available
if [ -x "$emacsclient" -a -x "$mg" ]; then
    EDITOR="emacsclient -amg -t"
    ALTERNATE_EDITOR="mg"
else
    # only emacsclient, so change alternate editor
    if [ -x "$emacsclient" ]; then
        EDITOR="emacsclient -avi -t"
        ALTERNATE_EDITOR="vi"
    else
        # no emacsclient, so see if we can fall back to mg
        if [ -x "$mg" ]; then
            EDITOR="mg"
            ALTERNATE_EDITOR="vi"
        # worse case: assume vi is available
        else
            EDITOR="vi"
        fi
    fi
fi
unset emacsclient
unset mg
export EDITOR
VISUAL=$EDITOR
export VISUAL

# ---- set $PATH

# this function prepends $addition to $PATH iff $addition isn't
# already in $PATH and $addition is a directory
maybe_add_to_path ()
{
    if ! echo $PATH | grep -q "$addition"; then
        if [ -d "$addition" ]; then
            PATH="$addition:$PATH"
        fi
    fi
}

addition="/sbin";                                 maybe_add_to_path
addition="/usr/sbin";                             maybe_add_to_path
addition="/usr/local/bin";                        maybe_add_to_path
addition="/usr/pkg/bin";                          maybe_add_to_path
addition="$HOME/bin";                             maybe_add_to_path
addition="$HOME/local/bin";                       maybe_add_to_path
addition="$HOME/.cabal/bin";                      maybe_add_to_path
addition="/meta/s/spw/local/src/git-annex.linux"; maybe_add_to_path

# now add places where there might be an exe made by cabal-install
for bindir in $(find ~/local/src -path "*/.cabal-sandbox/bin"); do
    PATH="$bindir:$PATH"
done

unset addition
export PATH

# ---- set language (snippet from joeyh's home-etc.git repo)

case " $(echo $(locale -a)) " in
    *\ en_GB.utf8\ *) LANG=en_GB.utf8 ;;
    *\ en_GB.UTF-8\ *) LANG=en_GB.UTF-8 ;;
    *\ C.UTF-8\ *) LANG=C.UTF-8 ;;
    *\ C.utf8\ *) LANG=C.utf8 ;;
    *) unset LANG ;;
esac

LC_ALL=$LANG
export LC_ALL
export LANG

# ---- further preferences

GIT_PAGER=
export GIT_PAGER
GIT_MERGE_AUTOEDIT=no
export GIT_MERGE_AUTOEDIT
GPG_KEY_ID=3B6D411B
export GPG_KEY_ID
MAILDIR="$HOME/.offlinemail/"
export MAILDIR
LD_RUN_PATH="$HOME/local/lib/"
export LD_RUN_PATH
LD_LIBRARY_PATH="$HOME/local/lib/"
export LD_LIBRARY_PATH
GTK_IM_MODULE=xim
export GTK_IM_MODULE
QT_IM_MODULE=xim
export QT_IM_MODULE
BROWSER="iceweasel"
export BROWSER
TERMCMD="urxvt"
export TERMCMD

# ---- set pager

lessf=$(which less)
if [ -x "$lessf" ]; then
    PAGER=less
    export PAGER
    LESS="--ignore-case --long-prompt"
    export LESS
fi
unset lessf