[Main]
Type = classic
Version = 0.1.0
Description = "nodm daemon"
User = ( root )
Depends = ( boot dbus devmanager logind x11-common )
Options = ( log )

[Start]
Execute = (
	ifelse -n { test -x /usr/sbin/nodm } { exit 1 }
	# Source /etc/default/nodm with sh (envfile cannot parse values with
	# spaces, e.g. NODM_XSESSION="/etc/X11/Xsession startxfce4").
	export PATH "/usr/sbin:/usr/bin:/sbin:/bin"
	exec /bin/sh -e -c "
	if [ -f /etc/default/nodm ]; then
		. /etc/default/nodm
	else
		NODM_ENABLED=true
		NODM_XSESSION=/etc/X11/Xsession
		NODM_FIRST_VT=7
		NODM_X_OPTIONS='-nolisten tcp'
		NODM_USER=user
		NODM_MIN_SESSION_TIME=60
		NODM_X_TIMEOUT=300
		NODM_OPTIONS=
	fi
	case \"\${NODM_ENABLED}\" in
		no|false|NO|FALSE) exit 0 ;;
	esac
	# Honour default-display-manager when set (slim/nodm coexistence).
	_ddm=
	[ -r /etc/X11/default-display-manager ] && _ddm=\$(cat /etc/X11/default-display-manager)
	if [ -n \"\$_ddm\" ] && [ \"\$_ddm\" != /usr/sbin/nodm ]; then
		echo \"nodm: not the default display manager (\$_ddm)\" >&2
		exit 0
	fi
	# First word of NODM_XSESSION must be executable (ignore args).
	_xs=\${NODM_XSESSION%% *}
	if [ ! -x \"\$_xs\" ]; then
		echo \"nodm: NODM_XSESSION not executable: \${NODM_XSESSION}\" >&2
		exit 1
	fi
	if [ -x /bin/plymouth ]; then
		/bin/plymouth quit || true
	fi
	export NODM_XSESSION NODM_X_OPTIONS NODM_USER NODM_MIN_SESSION_TIME
	export NODM_FIRST_VT NODM_X_TIMEOUT
	# Prefer stderr into the s6-log pipeline for live debugging.
	exec /usr/sbin/nodm --stderr --no-syslog \${NODM_OPTIONS}
	"
)

[Logger]
RunAs = s6log
Backup = 3
MaxSize = 2000000
Timestamp = tai
Destination = /var/log/nodm
