--- - name: "set the user variables" ansible.builtin.import_role: name: "services/include" vars_from: "user" - block: - name: "configure systemd service" ansible.builtin.template: src: "./systemd/{{ item }}" dest: "{{ services_service_user_home }}/.config/systemd/user/{{ item }}" mode: 0600 loop: - "pod-music.service" - "container-music-collection.service" - "container-music-archive.service" register: services_deploy_music_systemd_files - name: "systemd user daemon reload" ansible.builtin.systemd: daemon_reload: true scope: "user" when: services_deploy_music_systemd_files.changed - name: "get uid" ansible.builtin.getent: database: "passwd" key: "{{ services_service_user_name }}" - name: "get service status" ansible.builtin.command: >- systemctl --user show --property ActiveState --value pod-{{ services_service_name }}.service environment: XDG_RUNTIME_DIR: "/run/user/{{ getent_passwd[services_service_user_name].1 }}" changed_when: false register: services_deploy_music_service_active_state - name: "restart the service" ansible.builtin.systemd: name: "pod-{{ services_service_name }}.service" state: "restarted" scope: "user" when: services_deploy_music_systemd_files.changed and services_deploy_music_service_active_state.stdout == "active" become_user: "{{ services_service_user_name }}"