home/.xinitrc

35 lines
775 B
Bash
Executable File

#!/bin/sh
#
# Salt's .xinitrc
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
die() {
if [ -z "$1" ]; then
echo "Failed to start session" >&2
else
echo "Failed to start session: $1" >&2
fi
exit 1
}
# Set up our session target
if [ -x "$HOME/.dsk/dsk" ]; then
export DSK_HOME="$HOME/.dsk"
export STARTUP="$DSK_HOME/dsk"
elif [ -x "${XDG_CACHE_DIR:-$HOME/.local/share}/dsk/dsk" ]; then
export STARTUP="${XDG_CACHE_DIR:-$HOME/.local/share}/dsk/dsk"
fi
[ -z "$STARTUP" ] && die "No session target available"
# Execute our target
# Yes shellcheck, the rest of the code is an error handler
# shellcheck disable=2093
exec "$STARTUP"
# If we get here, we haven't exec'd a target and must die
die "Miscellaneous error"