--- - name: Create Ansible-managed user directories ansible.builtin.file: path: "{{ item.path }}" state: directory owner: "{{ user_name }}" mode: "{{ item.mode }}" loop: - { path: "{{ user_home }}/.ssh", mode: "0700" } - { path: "{{ user_home }}/Pictures", mode: "0755" } become: false - name: Check for the Git signing public key ansible.builtin.stat: path: "{{ git_signing_key }}" become: false register: git_signing_public_key - name: Read the Git signing public key ansible.builtin.slurp: src: "{{ git_signing_key }}" become: false register: git_signing_public_key_contents when: git_signing_public_key.stat.exists - name: Configure allowed SSH signers ansible.builtin.copy: dest: "{{ user_home }}/.ssh/allowed_signers" owner: "{{ user_name }}" mode: "0644" content: "{{ git_email }} {{ git_signing_public_key_contents.content | b64decode | trim }}\n" become: false when: git_signing_public_key.stat.exists - name: Install Typora from Flathub when: install_typora block: - name: Ensure Flathub is configured ansible.builtin.command: argv: - flatpak - remote-add - --if-not-exists - flathub - https://flathub.org/repo/flathub.flatpakrepo changed_when: false - name: Check for Typora ansible.builtin.command: flatpak info io.typora.Typora register: typora_flatpak changed_when: false failed_when: false - name: Install Typora ansible.builtin.command: flatpak install --noninteractive flathub io.typora.Typora when: typora_flatpak.rc != 0