debian.ansible.kodi/kodi.yml
2024-04-03 16:58:42 +02:00

163 lines
4.0 KiB
YAML

---
- 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
- kodi-addons-dev
- kodi-inputstream-adaptive
- xserver-xorg
- xinit
- x11-xserver-utils
- dbus-x11
- dconf-cli
- dphys-swapfile
- lightdm-autologin-greeter
- tsdecrypt
- x264
- x265
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