summaryrefslogtreecommitdiff
path: root/.config/login.sh
blob: a86f5588957a97606f20b05edbbc6321186babe2 (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
113
114
115
116
117
118
119
120
121
122
123
124
# ~/.profile: executed by the command interpreter for login shells.
# I like that graphical login scripts be configured to load this, so
# it always runs, graphical 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 #############################################################

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

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

if [[ ! -d "$HOME/tmp/$HOSTNAME" ]]; then
	tmp="$(mktemp --tmpdir -d "$USER@$HOSTNAME-tmpdir.XXXXXXXXXXXXXXXXXXX")"
	mkdir -p -- "$HOME/tmp"
	ln -sf "$tmp" "$HOME/tmp/$HOSTNAME"
	unset tmp
fi
export TMPDIR="$HOME/tmp/$HOSTNAME"
if type flock &>/dev/null; then
	if [[ "$(readlink -f /dev/fd/7)" != "$(readlink -f "$TMPDIR/.uselock")" ]]; then
		exec 7>"$TMPDIR/.uselock"
	fi
	if flock -sn 7; then
		_logout_tmpdir_cleanup() {
			if flock -xn 7; then
				rm -rf -- "$(readlink -f "$TMPDIR")"
				rm -- "$TMPDIR"
			fi
		}
		trap _logout_tmpdir_cleanup EXIT
	fi
fi



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

. "$HOME/.local/lib/xdg.sh"
mkdir -p "$XDG_RUNTIME_DIR/sessions"
ln -sfT -- "$XDG_RUNTIME_DIR/sessions" ~/.sessions

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

# Spell check
if [[ -z "$DICTIONARY" ]] && [[ -n "$LANG" ]]; then
	export DICTIONARY="${LANG%%.*}"
fi

# Text editor
if [[ $EDITOR = /usr/bin/vi ]]; then
	unset EDITOR
fi
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
	echo 'login: Setting GPGKEY'
	export GPGKEY=`sed -nr 's/^\s*default-key\s+//p' "${HOME}/.gnupg/gpg.conf"`
fi
if [[ -z "$(pgrep -u `whoami` gpg-agent)" ]] && type gpg-agent &>/dev/null; then
	echo 'login: Starting gpg-agent'
	gpg-agent --daemon --write-env-file ~/.sessions/gpg >/dev/null
fi
if [[ -f ~/.sessions/gpg ]]; then
	echo 'login: Setting gpg-agent info:'
	cat ~/.sessions/gpg
	. ~/.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
	#export XAUTHORITY=$HOME/.sessions/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 "$XDG_CONFIG_HOME/login.local.sh" ]]; then
	. "$XDG_CONFIG_HOME/login.local.sh"
fi

export GOROOT=/homes/shumakl/.prefix.x86_64/go
export PATH="/home/luke/perl5/bin:$PATH";
export PERL5LIB="/home/luke/perl5/lib/perl5/i686-linux-thread-multi:/home/luke/perl5/lib/perl5";
export PERL5LIB=/homes/shumakl/.prefix.x86_64/lib64/perl5:$PERL5LIB
export PERL_LOCAL_LIB_ROOT="/home/luke/perl5";
export PERL_MB_OPT="--install_base /home/luke/perl5";
export PERL_MM_OPT="INSTALL_BASE=/home/luke/perl5";