diff --git a/.dsk b/.dsk
index 0e399077..97130f8e 160000
--- a/.dsk
+++ b/.dsk
@@ -1 +1 @@
-Subproject commit 0e3990770b9ff441c0e6d77bd67d6aff4fa6027a
+Subproject commit 97130f8e8dbf1484f7c255b5ce02784b3b20d911
diff --git a/.xinitrc b/.xinitrc
index e29ad83c..bda52ac3 100755
--- a/.xinitrc
+++ b/.xinitrc
@@ -16,19 +16,16 @@ die() {
 }
 
 # Set up our session target
-command -v i3 > /dev/null 2>&1 && export STARTUP="i3"
-command -v bspwm > /dev/null 2>&1 && export STARTUP="bspwm"
 if [ -x "$HOME/.dsk/dsk-xinit" ]; then
 	export DSK_HOME="$HOME/.dsk"
 	export STARTUP="$DSK_HOME/dsk-xinit"
 fi
-[ -z ${STARTUP+x} ] && die "No session target available"
+[ -z "$STARTUP" ] && die "No session target available"
 
-# Execute Xsession stuff
-[ -r /etc/X11/Xsession ] && . /etc/X11/Xsession
-
-# Execute our target directly, if necessary
-[ -z "${STARTUP+x}" ] || exec "$STARTUP"
+# 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"