---
- name: Install Obsidian from shared NFS
hosts: all
become: true
vars:
# Файл на общей NFS-шаре
obsidian_source: "/nfs/Obsidian.AppImage"
# Куда устанавливаем Obsidian локально
obsidian_dir: "/opt/obsidian"
obsidian_dest: "/opt/obsidian/Obsidian.AppImage"
tasks:
- name: Check Obsidian exists on NFS
ansible.builtin.stat:
path: "{{ obsidian_source }}"
register: obsidian_file
- name: Fail if AppImage missing
ansible.builtin.fail:
msg: "Obsidian AppImage not found: {{ obsidian_source }}"
when: not obsidian_file.stat.exists
- name: Create Obsidian directory
ansible.builtin.file:
path: "{{ obsidian_dir }}"
state: directory
owner: root
group: root
mode: "0755"
- name: Copy Obsidian AppImage from NFS
ansible.builtin.copy:
src: "{{ obsidian_source }}"
dest: "{{ obsidian_dest }}"
remote_src: true
owner: root
group: root
mode: "0755"
- name: Create system command
ansible.builtin.file:
src: "{{ obsidian_dest }}"
dest: /usr/local/bin/obsidian
state: link
force: true
- name: Create desktop launcher
ansible.builtin.copy:
dest: /usr/share/applications/obsidian.desktop
owner: root
group: root
mode: "0644"
content: |
[Desktop Entry]
Name=Obsidian
Comment=Markdown knowledge base
Exec=/usr/local/bin/obsidian
Terminal=false
Type=Application
Categories=Office;
StartupWMClass=obsidian