summaryrefslogtreecommitdiff
path: root/.profile
blob: 84103f38b2e6a414787a47a1f622bcf249040e6f (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
# ~/.profile: executed by the command interpreter for login shells.
# Should be whether logging in graphically or not.
#
# This file should be executable by /bin/sh, but I'm going to assume bash(1)
#
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
umask 022

## Paths #############################################################

# Unix
prefixes=(
	"$HOME"
	"$HOME/.local.`uname -m`"
	"$HOME/.local/bin"
	"$HOME/.prefix.`uname -m`"
	"$HOME/.prefix"
	"$HOME"/.gem/ruby/*
)
for prefix in "${prefixes[@]}"; do
	if [[ -d "$prefix/bin" ]]; then
		export PATH="$prefix/bin:$PATH"
	fi
done

# Ruby
for dir in "$HOME"/.prefix/lib; do
	if [[ -d "$dir" ]]; then
		export RUBYLIB="$dir"
	fi
done
unset prefixes dir prefix

# TMPDIR #############################################################

if [[ ! -d "$HOME/tmp" ]]; then
	tmp="$(mktemp --tmpdir -d "$USER-tmpdir.XXXXXXXXXXXXXXXXXXX")"
	ln -sf "$tmp" "$HOME/tmp"
	unset tmp
fi
export TMPDIR="$HOME/tmp"

# XDG ################################################################

. "$HOME/.local/lib/xdg.sh"

# Settings ###########################################################

# Text editor
if [[ -f "$HOME/.selected_editor" ]]; then
	. "$HOME/.selected_editor"
	export SELECTED_EDITOR
	export ALTERNATE_EDITOR
	export EDITOR="${EDITOR:-$SELECTED_EDITOR}"
	export VISUAL="${VISUAL:-$SELECTED_EDITOR}"
fi

# GPG
if [[ -z $GPGKEY ]] && [[ -f "${HOME}/.gnupg/gpg.conf" ]]; then
	export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${HOME}/.gnupg/gpg.conf"`
fi
if [[ -z "$(pgrep -u `whoami` gpg-agent)" ]] && [[ -n $XDG_RUNTIME_DIR ]] && type gpg-agent &>/dev/null; then
	mkdir -p "${XDG_RUNTIME_DIR}/sessions"
	gpg-agent --daemon --write-env-file "${XDG_RUNTIME_DIR}/sessions/gpg" &>/dev/null
fi
if [[ -f "${XDG_RUNTIME_DIR}/sessions/gpg" ]]; then
	. "${XDG_RUNTIME_DIR}/sessions/gpg"
	export GPG_AGENT_INFO
	#export SSH_AUTH_SOCK
fi

# Java
_JAVA_OPTIONS=''
_JAVA_OPTIONS+=' -Dawt.useSystemAAFontSettings=on'
_JAVA_OPTIONS+=' -Dswing.aatext=true'
_JAVA_OPTIONS+=' -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
if [[ -n $TMPDIR ]]; then
	_JAVA_OPTIONS+=" -Djava.io.tmpdir=$TMPDIR"
fi
export _JAVA_OPTIONS

# X11
if [[ -z $XAUTHORITY ]]; then
	export XAUTHORITY=$HOME/.Xauthority
fi

# D-Bus
if [[ -z $DBUS_SESSION_BUS_ADDRESS ]] && type dbus-launch &>/dev/null; then
	# I want a separate instance for each login
	#dbus-launch > "${HOME}/.cache/sessions/dbus"
	#. "${HOME}/.cache/sessions/dbus"
	eval `dbus-launch`

	export DBUS_SESSION_BUS_ADDRESS
	export DBUS_SESSION_BUS_PID
fi

# Load any box-specific stuff
if [[ -f "$HOME/.profile.local" ]]; then
	. "$HOME/.profile.local"
fi