Files

75 lines
1.9 KiB
YAML

- name: Stat Typora installation directory
ansible.builtin.stat:
path: /opt/typora
register: typora_installed_result
- name: Create Typora install directory
ansible.builtin.file:
path: /opt/typora
state: directory
owner: root
group: root
mode: "0755"
when: not typora_installed_result.stat.exists
- name: Download Typora Linux binary archive
ansible.builtin.get_url:
url: "{{ typora_archive_url }}"
dest: "{{ typora_archive }}"
mode: "0644"
timeout: 300
when: not typora_installed_result.stat.exists
- name: Extract Typora
ansible.builtin.unarchive:
src: "{{ typora_archive }}"
dest: /opt/typora
remote_src: true
owner: root
group: root
mode: "0755"
when: not typora_installed_result.stat.exists
- name: Ensure Typora files are readable
ansible.builtin.file:
path: /opt/typora
state: directory
owner: root
group: root
mode: "0755"
recurse: true
when: not typora_installed_result.stat.exists
- name: Ensure system desktop application directory exists
ansible.builtin.file:
path: /usr/local/share/applications
state: directory
mode: "0755"
- name: Create Typora launcher wrapper
ansible.builtin.copy:
dest: /usr/local/bin/typora
mode: "0755"
content: |
#!/usr/bin/env bash
set -euo pipefail
cd /opt/typora/bin/Typora-linux-x64
exec /opt/typora/bin/Typora-linux-x64/Typora "$@"
when: not typora_installed_result.stat.exists
- name: Create Typora desktop launcher
ansible.builtin.copy:
dest: /usr/local/share/applications/typora.desktop
mode: "0644"
content: |
[Desktop Entry]
Type=Application
Name=Typora
Comment=Markdown editor
Exec=/usr/local/bin/typora %F
Terminal=false
Categories=Office;WordProcessor;TextEditor;
MimeType=text/markdown;text/x-markdown;
when: not typora_installed_result.stat.exists