--- - hosts: players become: yes tasks: - name: Install mpv, unclutter apt: name: "{{ item }}" state: present update_cache: yes loop: - mpv - unclutter - name: Copy disable-input script copy: src: disable_input.sh dest: "/home/{{ ansible_user }}/disable_input.sh" owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: "0755" - name: Ensure systemd user directory exists file: path: "/home/{{ ansible_user }}/.config/systemd/user" state: directory owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: "0755" - name: Copy all service files copy: src: "{{ item }}" dest: "/home/{{ ansible_user }}/.config/systemd/user/{{ item }}" owner: "{{ ansible_user }}" group: "{{ ansible_user }}" mode: "0644" loop: - parsifal-player.service - disable-input.service - unclutter.service - name: Reload systemd user service become: yes become_user: "{{ ansible_user }}" systemd: daemon_reload: yes scope: user - name: Enable input disable service become: yes become_user: "{{ ansible_user }}" systemd: name: disable-input enabled: yes scope: user - name: Enable and start all services become: yes become_user: "{{ ansible_user }}" systemd: name: "{{ item }}" enabled: yes state: started scope: user loop: - parsifal-player - unclutter