summaryrefslogtreecommitdiff
path: root/.config/login.sh
blob: 3c29c999a87f31c24a3ec9459b5ed7c2e285cc49 (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
#!/bin/bash
# ~/.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" ]]; 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"
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 [[ -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 [[ -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