Installing a Debian Machine

Installation
sudo apt install cage chromium kanshi
sudo useradd -d "/var/lib/chromium" --create-home --groups input,render,video --shell /usr/sbin/nologin --system chromium
sudo tee "/etc/systemd/system/wl-chromium.service" >/dev/null <<'EOF'
[Unit]
Description=Wayland Kiosk (Chromium)
Conflicts=getty@tty1.service
After=getty@tty1.service
[Service]
Type=simple
User=chromium
Group=chromium
PAMName=login
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
StandardInput=tty
StandardOutput=journal
StandardError=journal
UtmpIdentifier=tty1
UtmpMode=user
EnvironmentFile=/etc/default/chromium
Environment=XDG_SESSION_TYPE=wayland
ExecStarPre=/usr/bin/mkdir -p $XDG_RUNTIME_DIR/chromium-cache
ExecStart=/usr/bin/cage -- /usr/bin/chromium --disk-cache-dir=$XDG_RUNTIME_DIR/chromium-cache --disk-cache-size=1073741824 $CHROMIUM_OPTS
Restart=always
RestartSec=2
[Install]
WantedBy=graphical.target
EOF
sudo tee "/etc/default/chromium" >/dev/null <<'EOF'
CHROMIUM_OPTS="--ozone-platform=wayland --no-first-run --noerrdialogs --kiosk --disable-session-crashed-bubble --disable-infobars --overscroll-history-navigation=0 --disable-pinch http://127.0.0.1/"
EOF
sudo tee "/etc/systemd/system/kanshi.service" >/dev/null <<'EOF'
[Unit]
Description=Wayland Output Management
After=wl-chromium.service
Requires=wl-chromium.service
PartOf=wl-chromium.service
[Service]
Type=simple
User=chromium
Group=chromium
PAMName=login
ExecStartPre=/bin/sleep 2
ExecStart=/usr/bin/kanshi
Restart=on-failure
RestartSec=2
[Install]
WantedBy=graphical.target
EOF
sudo systemctl daemon-reload
sudo systemctl disable --now getty@tty1.service
sudo systemctl enable --now wl-chromium.service
sudo systemctl enable --now kanshi.service
Configuration
Minimize System Verbosity
GRUB_TIMEOUT=1
GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 consoleblank=0"
sudo update-grub
Troubleshooting
Video Playback is Not Working
sudo apt install intel-media-va-driver vainfo
Debugging
sudo apt install evtest libinput-tools python3-evdev