- name: Check if the targeted version of flyctl is installed ansible.builtin.command: flyctl version register: installed_flyctl_version ignore_errors: true changed_when: false - name: Download flyctl tar.gz ansible.builtin.get_url: url: "https://github.com/superfly/flyctl/releases/download/v{{ flyctl_version }}/flyctl_{{ flyctl_version }}_Linux_x86_64.tar.gz" dest: "/tmp/flyctl_{{ flyctl_version }}_Linux_x86_64.tar.gz" mode: "0644" when: flyctl_version not in installed_flyctl_version.stdout - name: Extract flyctl to /usr/local/bin ansible.builtin.unarchive: src: "/tmp/flyctl_{{ flyctl_version }}_Linux_x86_64.tar.gz" dest: "/usr/local/bin" remote_src: true when: flyctl_version not in installed_flyctl_version.stdout - name: Install Flatpak packages community.general.flatpak: name: - com.obsproject.Studio - org.videolan.VLC - org.tenacityaudio.Tenacity - md.obsidian.Obsidian - org.gimp.GIMP - rest.insomnia.Insomnia - com.github.johnfactotum.Foliate - org.gnome.meld - org.sqlitebrowser.sqlitebrowser state: present - name: Ensure fonts directory ansible.builtin.file: path: "~{{ remote_regular_user }}/.fonts" state: directory mode: "0755" owner: "{{ remote_regular_user }}" - name: Check if Jetbrains Mono exists ansible.builtin.shell: "ls ~{{ remote_regular_user }}/.fonts/JetBrainsMonoNerd*FontMono*" register: jetbrains_mono_exists ignore_errors: true changed_when: false - name: Download Jetbrains mono when: jetbrains_mono_exists is failed ansible.builtin.unarchive: src: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/JetBrainsMono.zip dest: "~{{ remote_regular_user }}/.fonts/" remote_src: true mode: "0755" owner: "{{ remote_regular_user }}"