summaryrefslogtreecommitdiff
path: root/.config/login.sh
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2013-08-14 15:07:04 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2013-08-14 15:07:04 -0400
commitb5f8ee46f0b8a97ddbe8b21e1605bfe2b41c0cb5 (patch)
treee9b3c2b27b340114c1e4a86c82accdef10b62a25 /.config/login.sh
parentb19688516c68862bdb24839e568f1e74947b7fa2 (diff)
re-jigger to have most everything in XDG directories
Diffstat (limited to '.config/login.sh')
-rw-r--r--.config/login.sh106
1 files changed, 106 insertions, 0 deletions
diff --git a/.config/login.sh b/.config/login.sh
new file mode 100644
index 0000000..851f4ec
--- /dev/null
+++ b/.config/login.sh
@@ -0,0 +1,106 @@
+#!/bin/sh
+# ~/.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 "$XDG_CONFIG_HOME/login.local.sh" ]]; then
+ . "$XDG_CONFIG_HOME/login.local.sh"
+fi