#!/bin/sh

# Save a bunch of environment variables. This script should be run just
# after login. The saved variables can then be sourced by every bash
# shell, so long running shells (e.g., in screen) or incoming SSH shells
# can also use these services.

# This script is run by gnome-session as a startup application.

# Save the DBUS sessions address on each login
if [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then
    echo export DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" > ~/.env.d/dbus
fi

if [ -n "$SSH_AUTH_SOCK" ]; then
    echo export SSH_AGENT_PID="$SSH_AGENT_PID" > ~/.env.d/ssh
    echo export SSH_AUTH_SOCK="$SSH_AUTH_SOCK" >> ~/.env.d/ssh
fi
if [ -n "$GPG_AGENT_INFO" ]; then
    echo export GPG_AGENT_INFO="$GPG_AGENT_INFO" > ~/.env.d/gpg
fi

# Save the XAUTHORITY file on each login
if [ -n "$XAUTHORITY" ]; then
    echo export XAUTHORITY="$XAUTHORITY" > ~/.env.d/xauth
fi

# Save the DISPLAY file on each login
if [ -n "$DISPLAY" ]; then
    echo export DISPLAY="$DISPLAY" > ~/.env.d/display
fi

# gnome-session stuff
if [ -n "$SESSION_MANAGER" ]; then
    echo export SESSION_MANAGER="$SESSION_MANAGER" > ~/.env.d/gnome-session
fi

# Gnome-keyring socket, used for getting at SSL certificates. Seems
# passwords are read via dbus and ssh keys via the SSH_AUTH_SOCK above.
if [ -n "$GNOME_KEYRING_CONTROL" ]; then
    echo export GNOME_KEYRING_CONTROL="$GNOME_KEYRING_CONTROL" > ~/.env.d/gnome-keyring
fi
