From b5f8ee46f0b8a97ddbe8b21e1605bfe2b41c0cb5 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 14 Aug 2013 15:07:04 -0400 Subject: re-jigger to have most everything in XDG directories --- .config/login.sh | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 .config/login.sh (limited to '.config/login.sh') 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 -- cgit v1.2.3