--- - name: Kodi Setup hosts: all tasks: - name: Install Basic Packages apt: name: # share desk - x11vnc # useful other stuff - pwgen - fdupes - sshfs - speedtest-cli # tools for android-smartphones/LineageOS - heimdall-flash - adb - fastboot - mkbootimg # kodi and desktop specific - cinnamon - cinnamon-l10n - gnome-terminal - lightdm - kodi - xserver-xorg - xinit - x11-xserver-utils - dbus-x11 - dconf-cli - dphys-swapfile - lightdm-autologin-greeter update_cache: yes install_recommends: no - name: 1 GB swap (100MB default) ansible.builtin.lineinfile: path: /etc/dphys-swapfile regexp: '^CONF_SWAPSIZE=.+$' line: 'CONF_SWAPSIZE=1024' backup: yes - name: Install Flatpaks x86_64 community.general.flatpak: name: - io.gitlab.librewolf-community - tv.kodi.Kodi state: present method: system when: ansible_architecture == "x86_64" - name: Install Flatpaks arm64 community.general.flatpak: name: - io.gitlab.librewolf-community state: present method: system when: ansible_architecture == "arm64" - name: Create pi User ansible.builtin.user: name: pi comment: pi uid: 1100 group: users groups: sudo,adm,audio,video,games,input,render,netdev - name: Raspi /boot/config.txt comment dtoverlay=vc4-kms-v3d replace: path: /boot/config.txt regexp: '(^dtoverlay=vc4-kms-v3d$)' replace: '#\1' - name: Raspi /boot/config.txt blockinfile: path: /boot/config.txt insertafter: EOF marker: "# {mark} ANSIBLE MANAGED BLOCK" block: | gpu_mem=256 hdmi_force_hotplug=1 hdmi_mode=4 dtparam=audio=on hdmi_drive=2 hdmi_ignore_edid=0xa5000080 config_hdmi_boost=4 hdmi_group=1 disable_overscan=1 [pi2] dtoverlay=vc4-fkms-v3d,cma-256 arm_freq=1000 sdram_freq=500 core_freq=500 over_voltage=4 [pi3] dtoverlay=vc4-fkms-v3d,cma-256 arm_freq=1100 core_freq=500 sdram_freq=500 over_voltage=4 [pi4] dtoverlay=vc4-kms-v3d,cma-256 - name: lightdm.conf blockinfile: path: /etc/lightdm/lightdm.conf create: yes mode: "0444" owner: root group: root insertafter: "#exit-on-failure=false" marker: "# {mark} ANSIBLE MANAGED BLOCK" block: | session-wrapper=/etc/X11/Xsession user-session=cinnamon autologin-session=cinnamon greeter-hide-users=false greeter-show-manual-login=true allow-guest=false xserver-command=X -core -dpi 96 autologin-user=pi backup: yes notify: - Restart lightdm - name: 'add lightdm to startup' command: systemctl enable lightdm args: creates: /etc/systemd/system/display-manager.service - name: 'remove smartmontools from startup' command: systemctl disable smartmontools args: removes: /etc/systemd/system/smartd.service - name: "Get current systemd default" command: "systemctl get-default" changed_when: false register: systemdefault - name: "Set default to graphical target" command: "systemctl set-default graphical.target" when: "'graphical' not in systemdefault.stdout" handlers: - name: Restart lightdm service: name: lightdm state: restarted