--- ############################################### # Install packages and set up autologin # Stop SDDM if running - name: autologin - stop sddm ignore_errors: yes systemd: name: sddm state: stopped - name: autologin - purge user account ignore_errors: yes shell: "rm -R /home/{{ local_user }}" - name: Autologin - run once section when: not refresh_special | bool block: # Install Packages - name: autologin - Install Packages apt: name: "{{ kiosk_package_items }}" state: present loop: "{{ kiosk_packages }}" loop_control: loop_var: kiosk_package_items # Remove Packages - name: autologin - Remove Packages apt: name: "{{ kiosk_package_remove_items }}" state: absent loop: "{{ kiosk_package_remove }}" loop_control: loop_var: kiosk_package_remove_items # Set sddm as def - name: autologin - enable sddm in xdm debconf: name: sddm question: shared/default-x-display-manager value: sddm vtype: select # sddm_method, should always run - name: Display cpu_architecture debug: msg: "cpu_architecture: {{ cpu_architecture }}" - name: check OS name shell: cat /etc/os-release | grep VERSION_CODENAME | cut -d '=' -f 2 register: debian_codename - name: Set sddm_method if needed when: "'amd' in cpu_architecture and 'bookworm' in debian_codename.stdout" set_fact: sddm_method: "plasmawayland.desktop" - name: Set sddm_method for x11 when: force_x11 | bool set_fact: sddm_method: "plasmax11" # Configure Autologin - name: autologin - configure autologin et. al. template: src: sddm.conf dest: /etc/sddm.conf mode: 0644 - name: autologin - check sddm config shell: cat /etc/sddm.conf register: sddm_check - debug: msg: "{{ sddm_check.stdout_lines }}" ############################################### # Apply Profile in separate file to keep things tidy # Create account and configure other settings like power and stuff - name: autologin - apply user profile settings include_tasks: user_profile.yaml # Restart sddm to initialize user profile - name: autologin - restart sddm systemd: enabled: yes name: sddm state: started ...