--- - name: Install Swayidle package ansible.builtin.package: name: swayidle state: present become: true - name: Create Swayidle config dirs ansible.builtin.file: path: '{{ ansible_user_dir ~ "/.config/swayidle" }}' state: directory mode: 0750 owner: '{{ ansible_user_uid }}' group: '{{ ansible_user_gid }}' - name: Render templates for Swayidle config file ansible.builtin.template: src: config.j2 dest: '{{ ansible_user_dir}}/.config/swayidle/config' owner: '{{ ansible_user_uid }}' group: '{{ ansible_user_gid }}' lstrip_blocks: yes trim_blocks: yes mode: 0640 register: config_file - name: copy Swayidle systemd service file ansible.builtin.copy: src: 'swayidle.service' dest: '{{ ansible_user_dir }}/.config/systemd/user/' mode: 0640 register: service_file - block: - name: Reload Systemd daemon ansible.builtin.systemd: scope: user daemon-reload: true - name: Activate Swayidle service ansible.builtin.systemd: name: 'swayidle.service' scope: user state: started enabled: true when: service_file is changed and not ansible_check_mode - name: Restart Swayidle service ansible.builtin.systemd: name: swayidle.service state: restarted scope: user when: config_file is changed and not service_file is changed