nodm is an automatic display manager which automatically starts an X session at system boot. It is meant for devices like smartphones, but can be used on a regular computer as well, if the security implications are acceptable.
Install the package.
Now ensure no other display managers get started by disabling their systemd services.
After installing nodm, modify the
/etc/nodm.conf file. Set the
NODM_USER variable to the user which should be automatically logged in, and change the
NODM_XSESSION variable to point to the script that starts your session. This script must be executable!
nodm.service so nodm will be started on boot.
For proper session handling, create pam.d file with the following content:
#%PAM-1.0 auth include system-login account include system-login password include system-login session include system-login