--- # # Tasks related to setting up SchildiChat themes # - when: matrix_client_schildichat_themes_enabled | bool run_once: true delegate_to: 127.0.0.1 become: false block: - name: Ensure SchildiChat themes repository is pulled ansible.builtin.git: repo: "{{ matrix_client_schildichat_themes_repository_url }}" version: "{{ matrix_client_schildichat_themes_repository_version }}" dest: "{{ role_path }}/files/scratchpad/themes" - name: Find all SchildiChat theme files ansible.builtin.find: paths: "{{ role_path }}/files/scratchpad/themes" patterns: "*.json" recurse: true register: matrix_client_schildichat_theme_file_list - name: Read SchildiChat theme ansible.builtin.slurp: path: "{{ item.path }}" register: "matrix_client_schildichat_theme_file_contents" with_items: "{{ matrix_client_schildichat_theme_file_list.files }}" - name: Load SchildiChat theme ansible.builtin.set_fact: matrix_client_schildichat_setting_defaults_custom_themes: "{{ matrix_client_schildichat_setting_defaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming with_items: "{{ matrix_client_schildichat_theme_file_contents.results }}" # # Tasks related to getting rid of SchildiChat themes (if it was previously enabled) # - name: Ensure SchildiChat themes repository is removed ansible.builtin.file: path: "{{ role_path }}/files/scratchpad/themes" state: absent run_once: true delegate_to: 127.0.0.1 become: false when: "not matrix_client_schildichat_themes_enabled | bool"