--- - name: stat symlink stat: path: '{{ansible_env.HOME}}/.local/bin/WebCatalog' register: symlink_file - name: get releases uri: url: https://raw.githubusercontent.com/kbenzie/webcatalog-release-scraper/main/webcatalog-releases.json return_content: true register: releases_raw - set_fact: releases: '{{releases_raw.content | from_json}}' - set_fact: appimage: 'WebCatalog-{{releases[0].version}}.AppImage' - set_fact: filepath: '{{ansible_env.HOME}}/.local/bin/{{appimage}}' - set_fact: needs_installed: '{{not symlink_file.stat.exists or symlink_file.stat.lnk_source != filepath}}' - name: download latest version when: needs_installed get_url: url: 'https://cdn-2.webcatalog.io/webcatalog/{{appimage}}' dest: '{{ansible_env.HOME}}/.local/bin/{{appimage}}' mode: '0755' - name: create symlink file: src: '{{filepath}}' dest: '{{ansible_env.HOME}}/.local/bin/WebCatalog' state: link # TODO: icon for desktop file - name: create desktop file template: src: webcatalog.desktop.j2 dest: '{{ansible_env.HOME}}/.local/share/applications/webcatalog-webcatalog.desktop' notify: install desktop menu - name: remove old appimage when: needs_installed and symlink_file.stat.exists file: path: '{{symlink_file.stat.lnk_source}}' state: absent