--- - name: Service | Install the unit ansible.builtin.template: src: obsidian-sync.service.j2 dest: "/etc/systemd/system/{{ obsidian_headless_service_name }}.service" owner: root group: root mode: "0644" notify: restart obsidian sync - name: Service | Enable it at boot ansible.builtin.systemd_service: name: "{{ obsidian_headless_service_name }}" enabled: "{{ obsidian_headless_service_enabled | bool }}" daemon_reload: true # Starting it before the manual sign-in would be a no-op (its conditions fail) # that reports "changed" on every run. Start it only once it can actually sync. - name: Service | Check whether the manual sign-in and vault setup are done ansible.builtin.find: paths: "{{ obsidian_headless_home }}/.config/obsidian-headless/sync" file_type: directory register: _obh_sync_configs - name: Service | Start it once a vault is set up ansible.builtin.systemd_service: name: "{{ obsidian_headless_service_name }}" state: started when: - obsidian_headless_service_enabled | bool - _obh_sync_configs.matched | default(0) > 0